玩具谜题(NOIP2016)
2017-08-16 22:27
246 查看
题目链接:玩具谜题
提高组日常水题。
直接模拟,有需要注意的点会在代码后讲解:
只提4处:
1处:这是为了把数字与名字之间的空格读入扔掉,为以后输出省了一点事(好像更麻烦了?无所谓,你自己抉择。)
2处:cur代表当前走到哪个小人
3处:自己画个图就明白了为什么这么写。
4处:防止越界。
顺便提一下:如果有的人讨厌用字符串,还可以用rewind()函数,来移动文件流指针,也就是说,读入名字不记录,等计算出第几个人后,回去再读出来是第几个人。
提高组日常水题。
直接模拟,有需要注意的点会在代码后讲解:
#include<bits/stdc++.h> using namespace std; int main(){ int n,m; scanf("%d%d",&n,&m); int dirt ; char name [20]; for(int i=0;i<n;i++){ char x; scanf("%d",&dirt[i]); scanf("%c",&x); //1 scanf("%s",name[i]); } int cur=0; //2 for(int i=0;i<m;i++){ int a,b; scanf("%d%d",&a,&b); if(a+dirt[cur]==1){ //3 cur+=b; }else{ cur-=b; } if(cur<0){ //4 cur+=n; }else if(cur>=n){ cur-=n; } } printf("%s",name[cur]); return 0; }
只提4处:
1处:这是为了把数字与名字之间的空格读入扔掉,为以后输出省了一点事(好像更麻烦了?无所谓,你自己抉择。)
2处:cur代表当前走到哪个小人
3处:自己画个图就明白了为什么这么写。
4处:防止越界。
顺便提一下:如果有的人讨厌用字符串,还可以用rewind()函数,来移动文件流指针,也就是说,读入名字不记录,等计算出第几个人后,回去再读出来是第几个人。
相关文章推荐
- NOIP2016 提高组 复赛 day1 toy 玩具谜题
- NOIP2016提高组day1试题 玩具谜题
- luogu1563 玩具谜题(NOIP2016提高组第1题)
- luogu1563 玩具谜题(NOIP2016提高组第1题)
- 玩具谜题(NOIP2016提高组day1第1题)
- 玩具谜题(NOIP2016提高组Day1T1)
- NOIP2016 T1 玩具谜题
- 洛谷1563(NOIP2016)[玩具谜题]--模拟
- 【NOIP 2016 提高组】玩具谜题
- NOIP2016 day1 t1 玩具谜题
- 模拟——玩具谜题
- UOJ 260(模拟)(玩具谜题)
- NOIP2016 day1玩具谜题
- 玩具谜题 NOIP2016 提高组 Day1 T1
- 洛谷 P1563 玩具谜题
- 玩具谜题
- 【noip2016】玩具谜题
- NOIP2016玩具谜题(洛谷1563)
- Luogu P1563 [NOIp提高组2016]玩具谜题
- noip2016d1t1 玩具谜题