不懂为什么#1#2会WA,其它TLE

P2391 白雪皑皑

@[_auto](/user/889733) ```cpp #include<bits/stdc++.h> using namespace std; int a[100000000]; int main(){ int n,m,p,q; cin>>n>>m>>p>>q; for(int i=1;i<=m;i++){ int x=((i*p+q)%n)+1; int y=((i*q+p)%n)+1; if(x>y) swap(x,y); for(int j=x;j<=y;j++){ a[j]=i; } } for(int i=1;i<=n;i++) cout<<a[i]<<endl; return 0; } ``` 这样就有分了,还贴心的帮你[试了一下](https://www.luogu.com.cn/record/116673787),因为如果x>y那么则x到y的这个循环不会执行,还有这道题正解应该是用并查集来做的,不懂得话可以看一下题解,但是要先自己思考,真不会再去看题解,而且不要抄题解~~抄多了会棕名~~
by bk1212 @ 2023-07-20 22:37:29


@bk1212,谢谢
by _auto @ 2023-07-21 06:29:58


|