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