cqm解题报告F

来源:互联网 发布:怎么设置淘宝会员名 编辑:程序博客网 时间:2024/05/18 21:11

http://acm.cqu.edu.cn/oj/problem_show.php?pid=21464

本题不是很难,仔细观察就可以得知x+n-i是恒定的(x是每个人的金钱,n是队列的长度,i是在当前位置。如果那么很显然的一点是如果出现相同的xi+n-i,那么一定是无限交换队列。
下面附上AC代码。

#include<iostream>#include<algorithm>#include<cstdio>#include<queue>#include<cstring>#include<cstring>using namespace std;const int maxn=2e6+10;bool vis[maxn];int main(){    int t;    scanf("%d",&t);    int ca=1;    while(t--)    {        int n;        scanf("%d",&n);        bool flag=false;        memset(vis,false,sizeof(vis));        for(int i=0;i<n;i++)        {            int a;            scanf("%d",&a);            int b=a+n-i;            if(vis[b]) flag=true;//如果出现相同的            vis[b]=true;        }        if(flag)        {            printf("Case %d: No\n",ca++);        }else{            printf("Case %d: Yes\n",ca++);        }    }}
0 0
原创粉丝点击