GitBook

这里写图片描述

很有意思的一题 运用打表节省时间

但是这题的标准数据有问题 会把考虑两个数哪个大的正确写法判成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&&lt==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