比赛 20120907 评测结果 AAAAW
题目名称 轮盘游戏 最终得分 80
用户昵称 Makazeu 运行时间 0.002 s
代码语言 C++ 内存使用 0.29 MiB
提交时间 2012-09-07 17:07:58
显示代码纯文本
#include <cstdlib>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN=30;
const int MAXM=111;
int wheel[MAXN],N,M;
int trans[MAXM];char trc[MAXM];

inline void GetNum(int&n,int p)
{
	n+=p;n%=N;if(n==0) n=N;
}

inline void print(int k)
{
	if(k!=-1) printf("%c",k);
	else printf("?");
}

int main()
{
	freopen("wheel.in","r",stdin);
	freopen("wheel.out","w",stdout);
	while(scanf("%d %d\n",&N,&M)!=EOF)
	{
		int now=1;bool flag=1;
		for(int i=1;i<=N;i++) wheel[i]=-1;
		for(int i=1;i<=M;i++) scanf("%d %c\n",&trans[i],&trc[i]);
		for(int i=1;i<=M;i++)
		{
			GetNum(now,trans[i]);
			if(wheel[now]!=-1 && wheel[now]!=trc[i]) {flag=0;break;}
			wheel[now]=trc[i];
		}
		if(!flag) {printf("!\n");continue;}
		for(int i=now;i>=1;i--) print(wheel[i]);
		for(int i=N;i>=now+1;i--) print(wheel[i]);
		printf("\n");
	}
	return 0;
}