记录编号 |
98260 |
评测结果 |
AAAAAAAAAA |
题目名称 |
机器人比赛 |
最终得分 |
100 |
用户昵称 |
ranto |
是否通过 |
通过 |
代码语言 |
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;
}