1 条题解
-
0
C :
#include<stdio.h> int main() { int n,a=1,b=2,c=3,y1,i,t; int flag=0; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&y1); if(y1==c) flag++; else if(y1==a) { t=b; b=c; c=t; } else if(y1==b) { t=a; a=c; c=t; } } if(flag) printf("NO"); else printf("YES"); return 0; }C++ :
#include <stdio.h> int main() { int n; int nums[110]; int k = 3; //记录当前对局的旁观者 scanf("%d",&n); for(int i = 0; i < n; i++) { scanf("%d",&nums[i]); } for(int i = 0; i < n; i++) { if(nums[i] == k) { printf("NO"); return 0; //检测到对局记录有问题直接结束即可 } else { k = 6 - k - nums[i]; //1,2,3总和为6,减去当前比赛的胜者和旁观者 } //即为当前比赛的败者,成为下一句比赛的旁观者 } printf("YES"); //循环结束仍未检测到错误直接输出YES return 0; }
- 1
信息
- ID
- 706
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 提交数
- 25
- 已通过
- 9
- 上传者