蒟蒻很懵逼,求大佬指导
查看原帖
蒟蒻很懵逼,求大佬指导
369200
Konnyaku_k楼主2021/12/18 12:51

#include<iostream>
#include<cstring>
using namespace std;
int a[10][10];//因为它是4*4的方格 ,所以2维数组不用开太大(我开大点是防止数组越界) 
int main()
{
	for(int i=0;i<=4-1;i++)
	{
		for(int k=0;k<=4-1;k++)
		{
			cin>>a[i][k];
		}
	}//以上是输入 
	for(int i=0;i<=4-1;i++)
	{
		for(int k=0;k<=4-1;k++)
		{
			if(i!=1-1&&i!=4-1&&k!=1-1&&k!=4-1)
			{
				if(a[i][k]==a[i+1][k]||a[i][k]==a[i-1][k]||a[i][k]==a[i][k+1]||a[i][k]==a[i][k-1])
				{
					cout<<"CONTINUE"<<endl;
					return 0;
				}
			}//判断中间
			if(a[1-1][1-1]==a[2-1][1-1]||a[1-1][1-1]==a[1-1][2-1])
			{
				cout<<"CONTINUE"<<endl;
				return 0;
			}//判断左上角 
			if(a[1-1][4-1]==a[1-1][3-1]||a[1-1][4-1]==a[2-1][4-1])
			{
				cout<<"CONTINUE"<<endl;
				return 0;
			}//判断右上角 
			if(a[4-1][1-1]==a[3-1][1-1]||a[4-1][1-1]==a[4-1][2-1])
			{
				cout<<"CONTINUE"<<endl;
				return 0;
			}//判断左下角 
			if(a[4-1][4-1]==a[3-1][4-1]||a[4-1][4-1]==a[4-1][3-1])
			{
				cout<<"CONTINUE"<<endl;
				return 0;
			}//判断右下角 
			for(int i=2-1;i<=3-1;i++)
			{
				if(a[1-1][i]==a[1-1][i-1]||a[1-1][i]==a[1-1][i+1]||a[1-1][i]==a[2-1][i])
				{
					cout<<"CONTINUE"<<endl;
					return 0;
				}
			}//判断上边剩余的两格 
			for(int i=2-1;i<=3-1;i++)
			{
				if(a[i][1-1]==a[i-1][1-1]||a[i][1-1]==a[i+1][1-1]||a[i][1-1]==a[i][2-1])
				{
					cout<<"CONTINUE"<<endl;
					return 0;
				}
			}//判断左边剩余的两格 
			for(int i=2-1;i<=3-1;i++)
			{
				if(a[i][4-1]==a[i-1][4-1]||a[i][4-1]==a[i+1][4-1]||a[i][4-1]==a[i][3-1])
				{
					cout<<"CONTINUE"<<endl;
					return 0;
				}
			}//判断右边剩余的两格 
			for(int i=2-1;i<=3-1;i++)
			{
				if(a[4-1][i]==a[4-1][i-1]||a[4-1][i]==a[4-1][i+1]||a[4-1][i]==a[2-1][i])
				{
					cout<<"CONTINUE"<<endl;
					return 0;
				}
			}//判断下边剩余的两格 
		}
	}
	cout<<"GAMEOVER"<<endl;//若无法移动,就输出他(能移动的话早就return 0;了) 
	return 0;
}//注:此代码过于麻乱,为了好检查才注释。特注:我不是抄题解!!! 
2021/12/18 12:51
加载中...