Submission #856988

# Submission time Handle Problem Language Result Execution time Memory
856988 2023-10-05T07:03:32 Z MrMody Palindrome-Free Numbers (BOI13_numbers) C++17
73.75 / 100
1 ms 604 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define el "\n"
#define fio ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);

vector<int> num;
ll DP[21][11][11][2];

ll cnt(int pos,int i_1,int i__2,bool f){
    if(pos == num.size()){
        return 1;
    }
    
    ll &ret = DP[pos][i_1][i__2][f];
    if(ret == -1){
        ret = 0;
        int limit = 9;
        if(!f){
            limit = num[pos];
        }
        for(int d=0;d<=limit;++d){
            bool new_f = f || (d < limit);
            if(d != i_1 && d != i__2){
                ret += cnt(pos+1,d,i_1,new_f);
            }
        }
    }
    return ret;
}

ll solve(ll x){
    if(x < 0)
        return 0;
    if(x == 0)
        return 1;
    num.clear();
    while(x > 0){
        num.push_back(x%10);
        x/=10;
    }
    assert(num.size() > 0);
    reverse(num.begin(), num.end());
    memset(DP, -1, sizeof(DP));
    return cnt(0, 10, 10, 0) + (num.size() > 1);
}


void solve() {
    ll a,b;
    cin >> a >> b;
    cout << solve(b) - solve(a-1);
}

int main() {
    fio
    int tc{ 1 };
    // cin >> tc;
    while (tc--) {
        solve();
    }
    return 0;
}

Compilation message

numbers.cpp: In function 'll cnt(int, int, int, bool)':
numbers.cpp:11:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     if(pos == num.size()){
      |        ~~~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Incorrect 0 ms 604 KB Output isn't correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Correct 0 ms 348 KB Output is correct
6 Incorrect 0 ms 348 KB Output isn't correct
7 Incorrect 0 ms 344 KB Output isn't correct
8 Incorrect 0 ms 344 KB Output isn't correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 344 KB Output is correct
14 Incorrect 0 ms 348 KB Output isn't correct
15 Incorrect 1 ms 452 KB Output isn't correct
16 Correct 0 ms 344 KB Output is correct
17 Correct 0 ms 348 KB Output is correct
18 Correct 0 ms 348 KB Output is correct
19 Correct 1 ms 344 KB Output is correct
20 Incorrect 0 ms 348 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Incorrect 0 ms 348 KB Output isn't correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Incorrect 0 ms 348 KB Output isn't correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Incorrect 0 ms 348 KB Output isn't correct
11 Correct 0 ms 348 KB Output is correct
12 Incorrect 0 ms 348 KB Output isn't correct
13 Incorrect 0 ms 348 KB Output isn't correct
14 Incorrect 1 ms 344 KB Output isn't correct
15 Incorrect 0 ms 600 KB Output isn't correct
16 Correct 1 ms 456 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 1 ms 344 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 0 ms 452 KB Output is correct
21 Correct 1 ms 344 KB Output is correct
22 Correct 1 ms 348 KB Output is correct
23 Correct 0 ms 348 KB Output is correct
24 Correct 0 ms 348 KB Output is correct
25 Correct 0 ms 348 KB Output is correct
26 Correct 0 ms 348 KB Output is correct
27 Correct 1 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Correct 0 ms 348 KB Output is correct
30 Correct 1 ms 460 KB Output is correct
31 Correct 1 ms 464 KB Output is correct
32 Correct 1 ms 344 KB Output is correct
33 Correct 0 ms 348 KB Output is correct
34 Correct 0 ms 348 KB Output is correct
35 Correct 0 ms 348 KB Output is correct
36 Correct 0 ms 348 KB Output is correct
37 Correct 0 ms 348 KB Output is correct
38 Correct 0 ms 348 KB Output is correct
39 Correct 1 ms 344 KB Output is correct
40 Correct 1 ms 348 KB Output is correct
41 Correct 0 ms 348 KB Output is correct
42 Correct 0 ms 348 KB Output is correct
43 Correct 0 ms 348 KB Output is correct
44 Correct 0 ms 348 KB Output is correct
45 Correct 1 ms 348 KB Output is correct