C++ 解题:小明转方向 - 方向感测试游戏
转向游戏 II/n/n## 题目描述/n/n小明自认为方向感很好,请小红来测试。小红先让小明面对'东'方立正站好,然后发出 '向左转'、'向右转' 或 '向后转' 的命令。每个命令执行后,小明都正确地说出了他面对的方向。/n命令是以数字方式表达:$0$ 代表 '向右转',$1$ 代表 '向左转',$2$ 代表 '向后转'。/n/n## 输入格式/n/n从标准输入读入数据。/n输入共两行。第一行是一个正整数 $n$($1 //le n //le 10,000$),代表命令的条数;第二行是 $n$ 个整数,每个整数是 $0$、$1$ 或 $2$,代表小红发出的口令。/n/n## 输出格式/n/n输出到标准输出。/n一个整数,代表小明回答 '北' 的次数。/n/n## 样例 #1/n/n### 样例输入 #1/n/n/n5/n0 1 0 0 1/n/n/n### 样例输出 #1/n/n/n0/n/n/n## 提示/n/n## 子任务/n对于 $30/%$ 的数据,$n //le 10$;/n对于 $50/%$ 的数据,$n //le 100$;/n对于 $70/%$ 的数据,$n //le 1,000$;/n对于 $100/%$ 的数据,$n //le 10,000$。/n特别地,对于其中 $20/%$ 的数据,小红发出的命令仅有一种。/n/n写一个C++代码内容:cpp/n#include<bits/stdc++.h>/nusing namespace std;/nint n,ans=0;//ans表示方向向北的次数/nint main()/n{/n cin>>n;/n int s=0;//s表示方向,0表示向东,1表示向北,2表示向西,3表示向南/n for(int i=1;i<=n;i++)/n {/n int x;/n cin>>x;/n if(x==0) s=(s+1)%4;//向右转/n else if(x==1) s=(s+3)%4;//向左转/n else s=(s+2)%4;//向后转/n if(s==1) ans++;//方向向北/n }/n cout<<ans<<endl;/n return 0;/n}/n
原文地址: https://www.cveoy.top/t/topic/knpY 著作权归作者所有。请勿转载和采集!