4 solutions
-
0
c
#include<stdio.h> int main() { int m,n; int temp[1000]; int t=0;//记第几个死 int f[1000]; scanf("%d %d",&m,&n); for(int i=0;i<m;i++) { f[i]=i+1; }//标号每个人的站位 int i=0; int k=0;//报数 int c=m;//表示还剩的人数 while(c>0)//死光了就不循环了 { if(f[i]!=0)//死人不用报数 k++;//开始报数 if(k==n) { t++; temp[i]=t; c--; f[i]=0;//死人腾出站位 k=0;//重新报数 } i=(i+1)%m;//围成了圈,当i=m-1时,i=0,又重新开始数
} for(int j=0;j<m;j++) printf("%d ",temp[j]); return 0; }
Information
- ID
- 79
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 6
- Tags
- # Submissions
- 283
- Accepted
- 96
- Uploaded By