#include <bits/stdc++.h>
#define loop(a, b) for(int a = 0; a < b; ++a)
#define loop1(a, b) for(int a = 1; a <= b; ++a)
#define loopc(a, c, b) for(unsigned long long a = c; a <= b; ++a)
#define loopr(a, b) for(int a = b-1; a >= 0; --a)
#define mp make_pair
using namespace std;
typedef unsigned long long ull;
deque<int> aa, bb;
ull ai, bi, p, av=0, bv=0, v;
set<int> pos;
int prev=-1, prev2=-1, as, bs;
bool af=false, bf=false;
int main() {
cin >> ai >> bi;
/*++bi;
while(ai) {
aa.push_front(ai%10);
ai /= 10;
}
while(bi) {
bb.push_front(bi%10);
bi /= 10;
}
//loop(a, 10) pos.insert(a);
as = aa.size();
loop(a, as) {
if (a == 0) {
loop(h, as) {
if (h == 0) {
v = aa[0]-1;
if (as > 1) v *= 9;
loopc(w, 2, as) v *= 8;
av = v;
}
else if (h == as-1) av += 10;
else {
v = 9;
if (as > h+1) v *= 9;
loopc(w, h+2, as) v *= 8;
av += v;
}
//cout << av << endl;
}
}
else {
v = aa[a] - (int)(aa[a] > aa[a-1]);
if (a > 1 && aa[a-1] != aa[a-2]) v -= (int)(aa[a] > aa[a-2]);
loopc(w, a+1, as) v *= 8;
av += v;
if (aa[a] == aa[a-1]) break;
if (a > 1 && aa[a] == aa[a-2]) break;
}
//cout << a << " " <<av << endl;
}
bs = bb.size();
loop(b, bs) {
//cout << bb[b] << " bb"<< endl;
if (b == 0) {
loop(h, bs) {
if (h == 0) {
v = bb[0]-1;
if (bs > 1) v *= 9;
loopc(w, 2, bs) v *= 8;
bv = v;
}
else if (h == bs-1) bv += 10;
else {
v = 9;
if (bs > h+1) v *= 9;
loopc(w, h+2, bs) v *= 8;
bv += v;
}
//cout << bv << endl;
}
}
else {
v = bb[b] - (int)(bb[b] > bb[b-1]);
if (b > 1 && bb[b-1] != bb[b-2]) v -= (int)(bb[b] > bb[b-2]);
loopc(w, b+1, bs) v *= 8;
bv += v;
//cout << v << " v" << endl;
if (bb[b] == bb[b-1]) break;
if (b > 1 && bb[b] == bb[b-2]) break;
}
//cout << b << " " << bv << endl;
}
cout << bv - av << endl;*/
int t, tot=0;
if (bi - ai < 100001) {
loopc(a, ai, bi) {
t = 1;
v = a;
while(v) {
aa.push_front(v%10);
v /= 10;
}
if (aa.size() > 0) {
loop(b, aa.size()-1) {
if (aa[b] == aa[b+1]) t = 0;
}
}
if (aa.size() > 1) {
loop(b, aa.size()-2) {
if (aa[b] == aa[b+2]) t = 0;
}
}
tot += t;
aa.clear();
}
}
cout << tot << endl;
return 0;
}
Compilation message
numbers.cpp: In function 'int main()':
numbers.cpp:2:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
2 | #define loop(a, b) for(int a = 0; a < b; ++a)
......
112 | loop(b, aa.size()-1) {
| ~~~~~~~~~~~~~~
numbers.cpp:112:17: note: in expansion of macro 'loop'
112 | loop(b, aa.size()-1) {
| ^~~~
numbers.cpp:2:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
2 | #define loop(a, b) for(int a = 0; a < b; ++a)
......
117 | loop(b, aa.size()-2) {
| ~~~~~~~~~~~~~~
numbers.cpp:117:17: note: in expansion of macro 'loop'
117 | loop(b, aa.size()-2) {
| ^~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
256 KB |
Output is correct |
2 |
Correct |
1 ms |
256 KB |
Output is correct |
3 |
Correct |
28 ms |
256 KB |
Output is correct |
4 |
Correct |
4 ms |
256 KB |
Output is correct |
5 |
Correct |
1 ms |
256 KB |
Output is correct |
6 |
Correct |
0 ms |
256 KB |
Output is correct |
7 |
Correct |
1 ms |
256 KB |
Output is correct |
8 |
Correct |
0 ms |
256 KB |
Output is correct |
9 |
Correct |
1 ms |
256 KB |
Output is correct |
10 |
Correct |
0 ms |
256 KB |
Output is correct |
11 |
Correct |
1 ms |
256 KB |
Output is correct |
12 |
Correct |
0 ms |
256 KB |
Output is correct |
13 |
Correct |
0 ms |
256 KB |
Output is correct |
14 |
Correct |
4 ms |
256 KB |
Output is correct |
15 |
Correct |
6 ms |
256 KB |
Output is correct |
16 |
Correct |
1 ms |
256 KB |
Output is correct |
17 |
Correct |
2 ms |
256 KB |
Output is correct |
18 |
Correct |
0 ms |
256 KB |
Output is correct |
19 |
Correct |
14 ms |
256 KB |
Output is correct |
20 |
Correct |
4 ms |
256 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
2 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
3 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
4 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
5 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
6 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
7 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
8 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
9 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
10 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
11 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
12 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
13 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
14 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
15 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
16 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
17 |
Correct |
0 ms |
256 KB |
Output is correct |
18 |
Correct |
0 ms |
256 KB |
Output is correct |
19 |
Correct |
0 ms |
256 KB |
Output is correct |
20 |
Correct |
0 ms |
256 KB |
Output is correct |
21 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
22 |
Correct |
0 ms |
256 KB |
Output is correct |
23 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
24 |
Correct |
0 ms |
256 KB |
Output is correct |
25 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
26 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
27 |
Incorrect |
0 ms |
384 KB |
Output isn't correct |
28 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
29 |
Correct |
0 ms |
256 KB |
Output is correct |
30 |
Correct |
0 ms |
256 KB |
Output is correct |
31 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
32 |
Correct |
0 ms |
256 KB |
Output is correct |
33 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
34 |
Correct |
1 ms |
384 KB |
Output is correct |
35 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
36 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
37 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
38 |
Incorrect |
1 ms |
256 KB |
Output isn't correct |
39 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
40 |
Correct |
0 ms |
256 KB |
Output is correct |
41 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
42 |
Correct |
0 ms |
256 KB |
Output is correct |
43 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
44 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |
45 |
Incorrect |
0 ms |
256 KB |
Output isn't correct |