牛客~~打篮球~~~模拟水题
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                牛客~~打篮球~~~模拟水题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                鏈接:https://www.nowcoder.com/acm/contest/118/D
來源:牛客網
題目描述
1, 2, 3在打籃球, 可是二打一總是不公平的, 于是他們決定一對一,另一個人在邊上看著, 誰輸了誰就和下場和在邊上看著的那個人交換。 現在給你一個勝利者的序列(每一輪勝利的人), 問這個序列合不合法。(一開始1,2單挑, 3在下面看著)
輸入描述:
第一個數是數字n(1<=n<=100), 代表輸入的勝利者序列的規模, 接下來的n行描述了勝利者序列。第i行包含一個正整數a[i],(1<=a[i]<=3),代表著a[i]贏得比賽
輸出描述:
輸出YES如果勝利者序列合法, 否則NO示例1
輸入
3 1 1 2 2 1 2
輸出
YES NO
說明
第一個例子中, 1贏了2, 3代替2; 1贏了3, 2代替3; 2贏了
第二個例子中, 1贏了2, 3代替2, 這時候2明顯已經在場下了故不可能為勝利者
模擬一下就行
#include<cstdio> #include<iostream> using namespace std; int a[4]; int main() {int n;while(scanf("%d",&n) !=EOF){a[1]=a[2]=1;a[3]=0;int flag=1;for(int i=0;i<n;i++){int cnt=0;int t;cin>>t;for(int j=1;j<=3;j++){if(j!=t){a[j]=!a[j];}}for(int j=1;j<=3;j++){if(a[j]==1){cnt++;}}if(cnt!=2){flag=0;}}if(flag==0){printf("NO\n");}else{printf("YES\n");}}return 0; }View Code
?
轉載于:https://www.cnblogs.com/buerdepepeqi/p/9017062.html
總結
以上是生活随笔為你收集整理的牛客~~打篮球~~~模拟水题的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 人去楼空下一句是什么呢?
- 下一篇: ubuntu16.06+vsftpd+n
