标签:
Description
Input
Output
Sample Input
Sample Output
Source
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; char str[1000005]; int flag,tp,center; int p[15]; bool check(int n) { for(int k=1;k<=n;k++) { if(p[k]+center==3*n) { tp=k; flag=1; return true; } } return false; } void moli(int n) { int len=strlen(str); for(int i=0;i<len;) { if(check(n)) return ; int t; if(p[tp]>=3) t=3; else t=p[tp]; if(len-i<t) { return; } for(int j=0;j<t;j++) { if(str[i]==‘L‘) { p[tp]--; if(tp==n) p[1]++; else p[tp+1]++; } else if(str[i]==‘R‘) { p[tp]--; if(tp==1) p[n]++; else p[tp-1]++; } else if(str[i]==‘C‘) { p[tp]--; center++; } i++; } if(check(n)) return ; tp++; if(tp==n+1) tp=1; } while(!p[tp]) { if(tp==n) tp=1; else tp++; } } int main() { int n,Case=1; while(scanf("%d",&n)!=EOF&&n) { scanf("%s",str); flag=0; tp=1; center=0; for(int i=0;i<15;i++) p[i]=3; moli(n); if(Case>1) printf("\n"); printf("Game %d:\n",Case++); for(int i=1;i<=n;i++) { printf("Player %d:%d",i,p[i]); if(tp==i&&flag) printf("(W)\n"); else if(tp==i&&!flag) printf("(*)\n"); else printf("\n"); } printf("Center:%d\n",center); } return 0; }
标签:
原文地址:http://www.cnblogs.com/chen9510/p/5347395.html