Harmonic Value Description HDU

来源:互联网 发布:ubuntu 打字 编辑:程序博客网 时间:2024/05/22 12:40

https://vjudge.net/contest/179746#problem/F

这题还以为自己做不出。然后多想了之后发现不难。。
代码不太好懂,反正自己构造。。

int a[N];int vis[N];int main(){    int T;sf("%d",&T);    int cas=0;    while(T--){        mem(vis,0);mem(a,0);        int n,k;        sf("%d%d",&n,&k);        if((k&1)==0)a[1]=k,a[2]=2*k;        else{            a[2]=k,a[1]=2*k;            a[k+1]=1;vis[1]=1;        }        vis[k]=1;vis[2*k]=1;        int cnt=0;        rep(i,3,n){            if(a[i])continue;            a[i]=++cnt;            while(vis[cnt])a[i]=++cnt;        }        pf("Case #%d:",++cas);        if(a[3]==2&&a[4]==4){        }        for(int i=1;i<=n;++i){            pf(" %d",a[i]);        }        puts("");    }}
原创粉丝点击