大概是第一题最乱的代码了吧
  • 板块灌水区
  • 楼主chenzehua
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/29 20:43
  • 上次更新2023/10/29 20:46:44
查看原帖
大概是第一题最乱的代码了吧
758860
chenzehua楼主2023/10/29 20:43

考试时敲的代码 为了抢时间就疯狂复制粘贴 枚举a了第一题

#include <iostream>
#include <cstdio>
 using namespace std;
 inline int getInt()
 {
 	char ch;
 	while((ch=getchar())&&(ch<'0'||ch>'9'));
 	int x=ch-'0';
 	while((ch=getchar())&&ch>='0'&&ch<='9')
 		x=x*10+ch-'0';
 	return x;
 }
 inline void Out(int x)
 {
 	if(x>=10)
 		Out(x/10);
 	putchar(x-x/10*10+'0');
 }
 struct node{
 	int a,b,c,d,e;
 };
 int n;
 int ans=0;
 node m[10];
 bool pd(int a,int b,int c,int d,int e)
 {
	int num=0;
	for(int i=1;i<=n;i++)
	{
		if((a==m[i].a&&b==m[i].b&&c==m[i].c&&d==m[i].d)||(a==m[i].a&&b==m[i].b&&c==m[i].c&&e==m[i].e)||(a==m[i].a&&b==m[i].b&&e==m[i].e&&d==m[i].d)||(a==m[i].a&&e==m[i].e&&c==m[i].c&&d==m[i].d)||(e==m[i].e&&b==m[i].b&&c==m[i].c&&d==m[i].d))
	{
		if(a!=m[i].a||b!=m[i].b||c!=m[i].c||d!=m[i].d||e!=m[i].e)
				num++;
			}
		else
		if((a==m[i].a&&b==m[i].b&&c==m[i].c&&((m[i].d>d&&m[i].e>e&&m[i].d-d==m[i].e-e)||(m[i].d<d&&m[i].e<e&&d-m[i].d==e-m[i].e)||(m[i].d<d&&m[i].e>e&&d-m[i].d==10+e-m[i].e)||(m[i].d>d&&m[i].e<e&&10+d-m[i].d==e-m[i].e)))		|| 		(a==m[i].a&&b==m[i].b&&e==m[i].e&&((m[i].d>d&&m[i].c>c&&m[i].d-d==m[i].c-c)||(m[i].d<d&&m[i].c<c&&d-m[i].d==c-m[i].c)||(m[i].d<d&&m[i].c>c&&d-m[i].d==10+c-m[i].c)||(m[i].d>d&&m[i].c<c&&10+d-m[i].d==c-m[i].c)))	||		(a==m[i].a&&d==m[i].d&&e==m[i].e&&((m[i].b>b&&m[i].c>c&&m[i].b-b==m[i].c-c)||(m[i].b<b&&m[i].c<c&&b-m[i].b==c-m[i].c)||(m[i].b<b&&m[i].c>c&&b-m[i].b==10+c-m[i].c)||(m[i].b>b&&m[i].c<c&&10+b-m[i].b==c-m[i].c)))	||		(c==m[i].c&&d==m[i].d&&e==m[i].e&&((m[i].b>b&&m[i].a>a&&m[i].b-b==m[i].a-a)||(m[i].b<b&&m[i].a<a&&b-m[i].b==a-m[i].a)||(m[i].b<b&&m[i].a>a&&b-m[i].b==10+a-m[i].a)||(m[i].b>b&&m[i].a<a&&10+b-m[i].b==a-m[i].a))))
				num++;
	}
	if(num==n)
		return 1;
	else
		return 0;
 }
 int main()
 {
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>m[i].a>>m[i].b>>m[i].c>>m[i].d>>m[i].e;
	for(int i=0;i<=9;i++)
		for(int j=0;j<=9;j++)
			for(int k=0;k<=9;k++)
				for(int l=0;l<=9;l++)
					for(int g=0;g<=9;g++)
						if(pd(i,j,k,l,g))
							ans++;
	cout<<ans;
 	return 0;
 }
2023/10/29 20:43
加载中...