poj3750 简单模拟

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

#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;
}

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

全部评论

相关推荐

08-01 16:40
门头沟学院 Java
看到这一幕,本大学生心都碎了2
真的很糟糕:挖藕,让他知道什么叫便宜没好货
点赞 评论 收藏
分享
08-05 14:14
武汉大学 Java
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务