View Code of Problem 3309

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
typedef long long ll;
//约瑟夫环 
int main(void){
	int n;
	cin>>n;
	string str[70];
	int index[70];//保存每个点的位置序号 
	for(int i=0;i<n;i++){
		cin>>str[i];
		index[i]=i;
	}
	char c;
	int w,s;
	cin>>w>>c>>s;
    w=(w+n-1)%(n);
    do{
       	w=(w+s-1)%(n);
       	cout<<str[index[w]]<<endl; 
       	for(int i=w;i<n-1;i++)
       		index[i]=index[i+1];//把后面的元素向前移动一位
    }while(--n);

} 

Double click to view unformatted code.


Back to problem 3309