记录编号 98260 评测结果 AAAAAAAAAA
题目名称 机器人比赛 最终得分 100
用户昵称 Gravatarranto 是否通过 通过
代码语言 C++ 运行时间 0.299 s
提交时间 2014-04-22 08:35:33 内存使用 0.70 MiB
显示代码纯文本
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("robotmatch.in");
ofstream out("robotmatch.out");

int t;
int n;
int map[20001][5];

int main()
{
	in>> t;
	while(t--)
	{
		in>> n;
		if(n==0)
		{
			out<< "yes"<< endl;
			continue;
		}
		map[0][0]=1;
		map[0][1]=1;
		map[0][2]=1;
		for(int i=1; i!=n+1; ++i)
		{
			map[i][0]=0;
			map[i][1]=0;
			map[i][2]=0;
			map[i][3]=0;
			map[i][4]=0;
		}
		int a, b, c;
		for(int i=1; i!=n+1; ++i)
		{
			in>> a>> b>> c;
			if(map[i-1][0])
			{
				if(a==1)
				{
					map[i][0]=1;
				}
				if(a==2 && b==2)
				{
					map[i][1]=1;
				}
				if(a==2 && b==1 && c==2)
				{
					map[i][2]=1;
				}
				if(a==1 && b==2 && c==2)
				{
					map[i][3]=1;
				}
			}
			if(map[i-1][1])
			{
				if(b==1)
				{
					map[i][1]=1;
				}
				if(a==2 && b==2)
				{
					map[i][0]=1;
				}
				if(b==2 && c==2)
				{
					map[i][2]=1;
				}
			}
			if(map[i-1][2])
			{
				if(c==1)
				{
					map[i][2]=1;
				}
				if(c==2 && b==2)
				{
					map[i][1]=1;
				}
				if(a==2 && b==1 && c==2)
				{
					map[i][0]=1;
				}
				if(a==2 && b==2 && c==1)
				{
					map[i][4]=1;
				}
			}
			if(map[i-1][3])
			{
				if(a==1 && b==1 && c==1)
				{
					map[i][3]=1;
				}
				if(a==2 && b==2 && c==1)
				{
					map[i][2]=1;
				}
			}
			if(map[i-1][4])
			{
				if(a==1 && b==1 && c==1)
				{
					map[i][4]=1;
				}
				if(a==1 && b==2 && c==2)
				{
					map[i][0]=1;
				}
			}
			//out<< map[i][0]<< ' '<< map[i][1]<< ' '<< map[i][2]<< ' '<< map[i][3]<< ' '<< map[i][4]<< "	"
			//<< a<< ' '<< b<< ' '<< c<< endl;
		}
		if(map[n][0] || map[n][1] || map[n][2])
		{
			out<< "yes"<< endl;
			continue;
		}
		out<< "no"<< endl;
	}
	return 0;
}