poj 3750(模拟约瑟夫环)

#include<iostream>
#include<cstring>
using namespace std;
int main(){
    int n;
    char data[70][20];
    bool flag[70];
    int w,s,num,start;
    memset(flag,false,sizeof flag);
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%s",data[i]);
    }
    scanf("%d,%d",&w,&s);
    start = w-1;
    for(int i=0;i<n;i++){
        num = 1;
        while(true){
            if(!flag[start]&&num<s){
                num++;
                start = (start+1)%n;
            }
            else if(flag[start]){
                start = (start+1)%n;
            }
            else{
                flag[start] = true;
                printf("%s\n",data[start]);
                start = (start+1)%n;
                break;
            }
        }
    }
    return 0;
} 

 

posted @ 2021-11-26 12:26  智人心  阅读(38)  评论(0)    收藏  举报