4 solutions

  • 0
    @ 2024-10-26 10:24:46

    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