2390630_ac_0ms_8k.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 57 行

C
57
字号
#include <stdio.h>
#include <string.h>

int main()
{
	int i, j, mark;
	char card[80], tmp[2];
	int a, c, l, no;
	int pos[4], t;

	while(scanf("%d%d%d",&a,&l,&c)==3&&a)
	{
		mark = 0;
		scanf("%s",card);
		for(i = 0; i < a; i++)
			pos[i] = -1;
		for(i = t = 0; i < c; i++,t++)
		{
			t %= a;
			scanf("%s",tmp);
			if(mark)
				continue;
			if(strlen(tmp)==2)
			{
				no = 0;
				for(j = pos[t]+1; j < l-1; j++)
					if(card[j]==tmp[0])
					{
						no++;
						if(no==2)
						{
							pos[t] = j;
							goto con;
						}
					}
				mark = 1;
				printf("Player %d won after %d cards.\n",t+1,i+1);
			}
			else
			{
				for(j = pos[t]+1; j < l-1; j++)
					if(card[j]==tmp[0])
					{
						pos[t] = j;
						goto con;
					}
				mark = 1;
				printf("Player %d won after %d cards.\n",t+1,i+1);
			}
			con:;
		}
		if(!mark)
			printf("No player won after %d cards.\n",c);
	}
	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?