0pts???
查看原帖
0pts???
1045301
Hamburger999楼主2023/11/22 20:22
#include <iostream>
#include <cmath>
using namespace std;
bool ANS[100001];
int f[10][10],n,ret,res[10];
int main() {
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=5;j++){
			cin>>f[i][j];
			res[i]+=f[i][j]*pow(10,5-j);
		}
	}
	for(int i=1;i<=n;i++){
		int t[11];
		for(int j=1;j<=5;j++){
			for(int k=-9;k<=9;k++){
				for(int l=1;l<=5;l++){
					if(l==j)t[l]=abs(f[i][l]+k)%10;
					else t[l]=f[i][l];
				}
				int ans=t[1]*10000+t[2]*1000+t[3]*100+t[4]*10+t[5];
				if(ANS[ans]==0&&ans!=res[i]){
					ret++;
					ANS[ans]=1;
					//printf("%.03d, %.05d\n",ret,ans);
				}
			}
		}
		for(int j=1;j<=4;j++){
			for(int k=-9;k<=9;k++){
				for(int l=1;l<=5;l++){
					if(l==j||l==j+1)t[l]=abs(f[i][l]+k)%10;
					else t[l]=f[i][l];
				}
				int ans=t[1]*10000+t[2]*1000+t[3]*100+t[4]*10+t[5];
				if(ANS[ans]==0&&ans!=res[i]){
					ret++;
					ANS[ans]=1;
					//printf("%.03d, %.05d\n",ret,ans);
				}
			}
		}
	}
	cout<<ret<<endl;
}

为什么连样例也过不去?

2023/11/22 20:22
加载中...