【NYOJ】[975]关于521
很有意思的一题
运用打表节省时间
但是这题的标准数据有问题
会把考虑两个数哪个大的正确写法判成WA
所以导致了标准数据里有负值-.-
#include<stdio.h>
int x1[1000200]= {0};
int x2[1000200]= {0};
int main() {
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
for(int i=1; i<1000020; i++) {
x1[i]=x1[i-1];
x2[i]=x2[i-1];
int t=i;
bool f5=false,f2=false,f1=false,boom=false;
int lt=99,llt=99;
while(t) {
if(t%10==1) {
f1=true;
} else if(t%10==2) {
f2=true;
} else if(t%10==5) {
f5=true;
}
if(f1&&f2&&f5) {
x1[i]=x1[i-1]+1;
}
if(t%10==5&<==2&&llt==1)
boom=true;
if(boom) {
x2[i]=x2[i-1]+1;
break;
}
llt=lt;
lt=t%10;
t/=10;
}
}
int n,m,kase=0;
while(scanf("%d %d",&n,&m)!=EOF) {
// 出题人数据智障
// if(n>m) {
// int t=n;
// n=m;
// m=t;
// }
printf("Case %d:",++kase);
printf("%d %d\n",x1[m]-x1[n-1],x2[m]-x2[n-1]);
}
return 0;
}
题目地址:【NYOJ】[975]关于521