社区讨论

如何评价这份赛时写的垃圾代码

P9752[CSP-S 2023] 密码锁参与者 7已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lobhx875
此快照首次捕获于
2023/10/29 21:17
2 年前
此快照最后确认于
2023/11/02 10:46
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
#define int register signed
signed main()
{
	
	ios::sync_with_stdio(0);
	int n,a[10][6],b[6],ans=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=5;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i1=0;i1<=9;i1++)
	{
		for(int i2=0;i2<=9;i2++)
		{
			for(int i3=0;i3<=9;i3++)
			{
				for(int i4=0;i4<=9;i4++)
				{
					for(int i5=0;i5<=9;i5++)
					{
						bool c=0;
						for(int i=1;i<=n;i++)
						{
							if(c==1)
							{
								break;
							}
							b[1]=i1-a[i][1];
							b[2]=i2-a[i][2];
							b[3]=i3-a[i][3];
							b[4]=i4-a[i][4];
							b[5]=i5-a[i][5];
							int x,y,z=0;
							for(int j=1;j<=5;j++)
							{
								if(b[j]!=0)
								{
									if(z==0)
									{
										x=j;
										z++;
									}
									else if(z==1)
									{
										y=j;
										z++;
									}
									else
									{
										c=1;
										break;
									}
								}
							}
							if(z==0)
							{c=1;break;
								
							}
							if(z==1)continue;
							if(z==2)
							{
								if((x==y-1||x==y+1))
								{
									bool p=0;
									int u1,v1,u2=a[i][x],v2=a[i][y];
									if(x==1)
									{
										u1=i1;
									}
									if(x==2)
									{
										u1=i2;
									}
									if(x==3)
									{
										u1=i3;
									}
									if(x==4)
									{
										u1=i4;
									}
									if(x==5)
									{
										u1=i5;
									}
									if(y==1)
									{
										v1=i1;
									}
									if(y==2)
									{
										v1=i2;
									}
									if(y==3)
									{
										v1=i3;
									}
									if(y==4)
									{
										v1=i4;
									}
									if(y==5)
									{
										v1=i5;
									}
									for(int k=0;k<=10;k++)
									{
										if(u1==u2&&v1==v2)
										{
											p=1;
											break;
										}
										u1++;
										v1++;
										if(u1==10)u1=0;
										if(v1==10)v1=0;
									}
									if(p==0)
									{
										c=1;
										break;
									}
									else
									{
										continue;
									}
								}
								else
								{
									c=1;
									break;
								}
							}
							c=1;
							break;
						}
						if(c==0)
						{
							ans++;
							//cout<<i1<<' '<<i2<<' '<<i3<<' '<<i4<<' '<<i5<<endl; 
						}
					}
				}
			}
		}
	}
	cout<<ans;
	return 0;
 } 

回复

6 条回复,欢迎继续交流。

正在加载回复...