30求调
查看原帖
30求调
1111873
qiufangguo楼主2024/10/7 10:37
#include<iostream>
using namespace std;
int n,m[5][8],result=0;
int main(){
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		for(int j=0;j<5;j++)scanf("%d",&m[i][j]);
	}
	for(int i=0;i<=99999;i++){
		int a[5]={0};
		a[0]=i/10000;
		a[1]=i%10000/1000;
		a[2]=i%1000/100;
		a[3]=i%100/10;
		a[4]=i%10;
		bool flag=1;
		for(int j=0;j<n;j++){
			int test[2]={5,5},testi=0,sum=0;
			if(m[j][0]!=a[0]){
				sum++;
				test[testi]=0;
				testi++;
			}
			if(m[j][1]!=a[1]){
				sum++;
				test[testi]=1;
				testi++;
			}
			if(m[j][2]!=a[2]){
				sum++;
				test[testi]=2;
				testi++;
			}
			if(m[j][3]!=a[3]){
				sum++;
				test[testi]=3;
				testi++;
			}
			if(m[j][4]!=a[4]){
				sum++;
				test[testi]=4;
				testi++;
			}
			if(sum==1){
				//for(int i=0;i<5;i++)cout<<a[i];
				//cout<<endl;
			}
			else if(sum==2){
				if(test[0]+1==test[1]&&m[j][test[1]]-m[j][test[0]]==a[test[1]]-a[test[0]]){
					//for(int i=0;i<5;i++)cout<<a[i];
					//cout<<endl;
				}
				else{
					flag=0;
					break;
				}
			}
			else{
				flag=0;
				break;
			}
		}
		if(flag==1){
			result++;
		}
	}
	printf("%d",result);
	return 0;
}
2024/10/7 10:37
加载中...