求助悬关,P9752密码锁,帮忙看看哪里写错了
查看原帖
求助悬关,P9752密码锁,帮忙看看哪里写错了
1128912
zzxtkl楼主2024/9/28 21:31

求助,帮忙看看哪里错了

#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
int as[10][10];
int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	int n,ans=0;
	cin>>n;
	if(n==1)
	{
		cout<<81;
		return 0;
	}
	for(int i=0;i<n;i++)
		for(int j=1;j<=5;j++)
			cin>>as[i][j];
	for(int a=0;a<=9;a++)
		for(int b=0;b<=9;b++)
			for(int c=0;c<=9;c++)
				for(int d=0;d<=9;d++)
					for(int e=0;e<=9;e++)
					{
						int cnt=0;
						for(int i=0;i<n;i++)
						{
							int k=0;
							bool q=0,w=0,y=0,r=0,t=0;
							if(a!=as[i][1])
							{
								q=1;
								k++;
							}
							if(b!=as[i][2])
							{
								w=1;
								k++;
							}
							if(c!=as[i][3])
							{
								y=1;
								k++;
							}
							if(d!=as[i][4])
							{
								r=1;
								k++;
							}
							if(e!=as[i][5])
							{
								t=1;
								k++;
							}
							if(k>2)
								continue;
							if(k==1)
								cnt++;
							else if(k==2)
							{
								if(q==1 and w==1 and a-b==as[i][1]-as[i][2])
									cnt++;
								else if(w==1 and y==1 and b-c==as[i][2]-as[i][3])
									cnt++;
								else if(y==1 and r==1 and c-d==as[i][3]-as[i][4])
									cnt++;
								else if(r==1 and t==1 and d-e==as[i][4]-as[i][5])
									cnt++;
							}
						}
						if(cnt==n)
							ans++;
					}
	cout<<ans;
	return 0;
}
2024/9/28 21:31
加载中...