赛时暴力70分(?
查看原帖
赛时暴力70分(?
574644
lishunji楼主2023/10/30 13:36
#include<bits/stdc++.h>
using namespace std;
long long n,a[100],num[100][1000010],ten[100],ans;
int main(){
	cin>>n;
	if(n==1){
		cout<<"81";
		return 0;
	}
	ten[0]=1;ten[1]=10;ten[2]=100;ten[3]=1000;ten[4]=10000;ten[5]=100000;
	for(long long i=1;i<=n;i++){
		long long sizea=0;
		for(long long j=1;j<=5;j++){
			char op;
			cin>>op;
			sizea*=10;
			sizea+=(long long)(op-'1')+1;
		}
		a[i]=sizea;
	}
	for(long long i=1;i<=n;i++){//1
		for(long long k=1;k<=5;k++){
			for(long long j=0;j<=9;j++){
				if((a[i]/ten[k-1])%10==j) continue;
				//cout<<a[i]-(((a[i]/ten[k-1])%10)*ten[k-1])+(j*ten[k-1])<<endl;
				num[i][a[i]-(((a[i]/ten[k-1])%10)*ten[k-1])+(j*ten[k-1])]++;
			}
		}
	}
	for(long long i=1;i<=n;i++){//2
		for(long long k=1;k<=4;k++){
			long long qzk1,qzk2,help=(a[i]/ten[k-1])%100;//10 1
		    if((help/10)>=(help%10)){
		    	qzk1=(help/10)-(help%10);
				qzk2=0;
			}
			else {
				qzk2=(help%10)-(help/10);
				qzk1=0;
			}
			for(long long j=0;j<=9;j++){
				qzk1+=j;qzk1%=10;qzk2+=j;qzk2%=10;
				if((qzk1*10+qzk2)==help) continue;
				num[i][a[i]-(help*ten[k-1])+10*qzk1+qzk2]++;
				qzk1-=j;qzk2-=j;
			}
		}
	}
	for(long long i=0;i<=99999;i++){
		bool flag=1;
		for(long long z=1;z<=n;z++) if(num[z][i]==0) flag=0;
		if(flag) ans++;
	}
	cout<<ans;
	return 0;
}

GD,但是luogu70分 小图灵70分,然后查出来0+5+0+0??? 请求一下各位佬建议,要不要申诉(T2暴力谷25)

2023/10/30 13:36
加载中...