QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#754941 | #9555. Strength | ucup-team4801# | WA | 45ms | 3740kb | C++14 | 1.7kb | 2024-11-16 16:07:09 | 2024-11-16 16:07:09 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N = 25;
typedef long long LL;
int ret[N], nx[N];
LL f[N][3][2];
void solve(){
memset(ret, 0, sizeof(ret));
memset(nx, 0, sizeof(nx));
LL x, n;
scanf("%lld%lld", &x, &n);
int len = 0;
while(x)ret[++ len] = x % 10, x /= 10;
len = 0;
while(n)nx[++ len] = n % 10, n /= 10;
memset(f, 0, sizeof(f));
f[0][0][0] = 1;
for(int i = 1; i <= 19; i ++){
for(int cry = 0; cry <= 2; cry ++){
for(int up = 0; up <= 1; up ++){
if(!f[i - 1][cry][up])continue;
for(int k = 0; k <= 9; k ++){
int nup = (k == nx[i]) ? up : (k > nx[i]), ncry;
if(ret[i] == 0){
if(k == 4 && cry != 0)ncry = 2;
else if(k >= 5)ncry = 1;
else ncry = 0;
f[i][ncry][nup] += f[i - 1][cry][up];
}
else if(ret[i] == 1){
if(k == 1) f[i][0][nup] += f[i - 1][cry][up];
else if(cry != 0)f[i][k >= 5][nup] += f[i - 1][cry][up];
}
else if(ret[i] == k){
if(cry != 1)f[i][0][nup] += f[i - 1][cry][up];
}
else if(ret[i] == k + 1){
if(cry != 0)f[i][0][nup] += f[i - 1][cry][up];
}
}
}
}
}
printf("%lld\n", f[19][0][0] + f[19][2][0]);
}
int main(){
freopen("in", "r", stdin);
int T;
scanf("%d", &T);
while(T --)solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 45ms
memory: 3740kb
input:
5 0 2147483646 10 100 671232353 1232363 123001006660996 3122507962333010 100019990010301090 44519984489341188
output:
70 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...
result:
wrong answer 1st numbers differ - expected: '2147483647', found: '70'