有没有大佬看看为什么RE了(= 。=)
查看原帖
有没有大佬看看为什么RE了(= 。=)
716941
HYD2010楼主2023/10/21 21:29
#include<bits/stdc++.h>
using namespace std;
int n;
int a[20][20];
int b[20][10];
int ans;
long long tp[100300];
bool bi;
int f(int a1[20][20],int b1[20][10]){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=5;j++){
			b1[i][1]+=a1[i][j]*(pow(10,(5-j)));
		}
	}
	for(int i=1;i<=n;i++){
		b[i][1]=b1[i][1];
	}
}
int main(){
//	freopen("lock.in","r",stdin);
//	freopen("lock.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=5;j++){
    		cin>>a[i][j];
		}
	}
	f(a,b);
	int k=n+1,p=0,c,d;
	for(int q=1;q<=n;q++){
		for(int j=1;j<=5;j++){
			c=a[q][j];
			for(int i1=0;i1<=9;i1++){
				
				bi=0;
				
		    	a[q][j]=i1;
		    	p=a[q][1]*10000+a[q][2]*1000+a[q][3]*100+a[q][4]*10+a[q][5];
		    	for(int j1=1;j1<=n;j1++){
		    		if(p==b[j1][1]){
		    	    	bi=1;
					}
				}
				if(bi==0){
				    b[k++][1]=p;
					tp[p]++;
				}
				a[q][j]=c;
			}
					
		}		
	}
	for(long long i=0;i<=100001;i++){
		if(tp[i]==n){
			ans++;
		}
	}
	for(long long i=0;i<=100001;i++){
		tp[i]=0;
	}
	for(int q=1;q<=n;q++){
		for(int j=1;j<=4;j++){
			c=a[q][j];
			d=a[q][j+1];
			for(int i1=1;i1<=9;i1++){
				bi=0;
		    	a[q][j]=(a[q][j]+i1)%10;
		    	a[q][j+1]=(a[q][j+1]+i1)%10;
		    	p=a[q][1]*10000+a[q][2]*1000+a[q][3]*100+a[q][4]*10+a[q][5];
		    	for(int j1=1;j1<=n;j1++){
		    		if(p==b[j1][1]){
		    	    	bi=1;
					}
				}
				if(bi==0){
				    b[k++][1]=p;
					tp[p]++;
				}
				a[q][j]=c;
			    a[q][j+1]=d;
			}		
		}		
	}
	
	for(long long i=0;i<=100001;i++){
		if(tp[i]==n){
			ans++;
		}
	}
	cout<<ans;
	return 0;
}
2023/10/21 21:29
加载中...