codeforces 74B Train 贪心 简单模拟
2012-12-19 23:02
489 查看
题意:列车员要抓逃票的人。列车员在火车中来回巡逻,起点为cp,每分钟移动一个车厢。逃票的人可以进入任一相邻车厢,或者不动。火车停了的时候,逃票者下车,新的逃票者选择一个车厢进入,问是否可以抓到这个人,何时抓到。
做法:贪心。如果列车员面对逃票者,逃票者和售票员往相同的方向跑,否则,就原地不动。放置时一般可以放在列车员背后,可是有特殊情况(程序中有)。列车员会转身,是方向改变(以开始写成像循环链表一样的东西了...)。模拟一下就好了.这种小规模题,直接模拟
做法:贪心。如果列车员面对逃票者,逃票者和售票员往相同的方向跑,否则,就原地不动。放置时一般可以放在列车员背后,可是有特殊情况(程序中有)。列车员会转身,是方向改变(以开始写成像循环链表一样的东西了...)。模拟一下就好了.这种小规模题,直接模拟
#include <iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; char mov[200]; int cp,sp,dre,n; bool test(void) { for(int i=sp;i!=n-1&&i!=0;i=(i+dre+n)%n) if(i==cp)return 1; return 0; } int main(void) { bool yes=0; char ord[15]; scanf("%d%d%d",&n,&sp,&cp);getchar(); gets(ord); if(strcmp(ord,"to head")==0)dre=-1; else dre=1; scanf("%s",mov); if(cp==sp) { printf("Controller 0\n"); return 0; } cp--;sp--; if(test())yes=1; else yes=0; for(int i=0;mov[i];i++) { if(mov[i]=='1') { cp=(cp+dre+n)%n; if(cp==0||cp==n-1)dre=-dre; if(dre==-1&&cp==n-1)sp=0; else if(dre==1&&cp==0)sp=n-1; else sp=(cp-dre+n)%n; if(test())yes=1; else yes=0; continue; } cp=(cp+dre+n)%n; if(cp==0||cp==n-1)dre=-dre; if(cp==0&&dre==1||cp==n-1&&dre==-1) { if(test())yes=1; else yes=0; } if(yes)continue; if(sp!=0&&sp!=n-1)sp=(cp+dre+n)%n; if(cp==sp) { printf("Controller %d\n",i+1); return 0; } } printf("Stowaway\n"); return 0; }
相关文章推荐
- Codeforces 797C Minimal String 贪心+模拟
- 模拟--Codeforces 665C(简单模拟)
- Codeforces 520D. Cubes 状态模拟+贪心
- CodeForces - 451B Sort the Array 简单模拟
- CodeForces-732D-Exams(二分 模拟 贪心)
- codeforces 804B——Minimum number of steps(模拟,贪心)
- [codeforces] A. Grasshopper And the String 简单模拟
- 简单模拟——Codeforces 789/B
- CodeForces An express train to reveries(简单的模拟)
- Codeforces 754A Lesha and array splitting(简单贪心)
- Codeforces 712B Memory and Trident 简单贪心
- CodeForces 864D Make a Permutation! 【贪心】【模拟】
- CodeForces 151B Phone Numbers(简单模拟)
- CodeForces 697 B. Barnicle(简单模拟)
- codeforces-16A-A. Flag (C && 简单模拟 && 暴力农夫山泉)
- Codeforces Round #377 (Div. 2) D. Exams 贪心 + 简单模拟
- Codeforces-754B-Ilya and tic-tac-toe game(简单模拟判断)
- codeforces 719C (复杂模拟-四舍五入-贪心)
- codeforces 283A - Cows and Sequence 简单数据结构模拟
- Codeforces 749C Voting 贪心+模拟