1874175_ac_0ms_24k.c
来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 51 行
C
51 行
# include <stdio.h>
int main()
{
int n, k, tmp, swap, mark[40];
char t[40], ch[2];
int i, no;
long toss;
while(scanf("%d",&n)==1&&n)
{
scanf("%d",&k);
for(i = 0; i < 31; i++)
mark[i]=0;
tmp=1;no=0;toss=0;t[0]='Y';
for(i = 1; i <= n; i++)
{
scanf("%s",ch);
t[i]=ch[0];
}
while(1)
{
if(!mark[k]) {no++;mark[k]=1;}
toss++;
if(no==n){printf("Classmate %d got the ball last after %ld tosses.\n",k,toss); break;}
if(t[k]=='L')
{
t[k]='R';
swap=k;
k=tmp-1;
tmp=swap;
if(k==tmp||k+n==tmp) k--;
if(k<=0) k+=n;
}
else
{
t[k]='L';
if(k>n)k%=n;
swap=k;
k=tmp+1;
tmp=swap;
if(k==tmp||k==tmp+n) k++;
if(k>n)k%=n;
}
}
}
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?