直接模拟就好,加一个标志数组表示此人是否被挑出

#include<cstdio>
#include<cstring>
using namespace std;
char kids[100][20];
bool flag[100]={false};
//找规律
int main()
{

    int n,w,s;
    scanf("%d",&n);
    for(int i = 1; i<=n; ++i) scanf("%s",kids[i]);
    strcpy(kids[0],kids[n]);
    scanf("%d,%d",&w,&s);
    int sum = 0,ans = 0;
    for(int i = w;;++i)
    {
        int t = i%n;
       if(!flag[t]) sum++;
        if(sum == s)
        {
            printf("%s\n",kids[t]);
            flag[t] = true;
            sum = 0 ;
            ans++;
        }
        if(ans==n) break;
    }
        return 0;
}

用数学公式推导出来更快,不过我有点懒,改天想想怎么推吧。
以上。