记录编号 267692 评测结果 AAAAAAAAAA
题目名称 [HZOI 2016]白雪皑皑 最终得分 100
用户昵称 GravatarSky_miner 是否通过 通过
代码语言 C++ 运行时间 1.037 s
提交时间 2016-06-11 16:47:50 内存使用 7.92 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<cstdlib>
int next[1000008],c[1000008],k;
int main(){
	freopen("winter.in","r",stdin);
    freopen("winter.out","w",stdout);
    int n,m,q,p;
    scanf("%d%d%d%d",&n,&m,&p,&q);
    int d;
	if(n>m) d=1;
	else d=m-n+1;
	int j;
    for(int i=1;i<=n;i++) next[i]=i+1;
    for(int k=m;k>=d;k--){
    	int l=(k*p+q)%n+1;
        int r=(k*q+p)%n+1;
        if(l>r) l^=r,r^=l,l^=r;
        for(int i=l;i<=r;){
            if(!c[i]) c[i]=k;
            j=next[i];
			next[i]=r+1;
            i=j;
        }
    }
    for(int i=1;i<=n;i++) printf("%d\n",c[i]);
    fclose(stdin);fclose(stdout);
    return 0;    
}