QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#783461 | #9799. Magical Palette | Kleaves | TL | 41ms | 26924kb | C++17 | 2.4kb | 2024-11-26 09:58:28 | 2024-11-26 09:58:30 |
Judging History
answer
#pragma GCC optimize(3)
#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define testin freopen("testin1.txt", "r", stdin)
#define testout freopen("testout1.txt", "w", stdout)
#define NO cout<<"No"<<endl
#define YES cout<<"Yes"<<endl
#define MAYBE cout<<"MAYBE"<<endl
#define endl '\n'
#define ALL(x) x.begin(),x.end()
#define INS(x)inserter(x,x.begin())
using namespace std;
const ll MAXN = 1000010;
const ll INF = 0x3f3f3f3f;
const ll mod = 998244353;
bool DEBUG = false;
vector<ll>numn,numm;
ll uniq[MAXN][2];
void solve() {
ll n, m;
cin >> n >> m;
if (gcd(n, m) != 1) {
cout << "No" << endl;
return;
}
cout << "Yes" << endl;
for (int i = 0; i < n; i++) {
//cout << (1 + (n - 1) * i) % (n * m) << ' ';
}
//cout << endl;
for (int i = 0; i < m; i++) {
//cout << (1 + (m - 1) * i) % (n * m) << ' ';
}
//cout << endl;
ll flag = 1;
for (ll d1 = max(n - 1, 1ll); d1 >= 1; d1--) {
for (ll d2 = max(m - 1, 1ll); d2 >= 1; d2--) {
flag = 1;
numn.clear();
numm.clear();
for (ll i = 0; i < n; i++) {
numn.push_back((1 + d1 * i) % (n * m));
}
for (ll i = 0; i < m; i++) {
numm.push_back((1 + d2 * i) % (n * m));
}
//map<ll, pair<ll, ll>>uniq;
for (int i = 0; i < m * n; i++) {
uniq[i][0] = -1; uniq[i][1] = -1;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
ll tmp = (numn[i] * numm[j]) % (m * n);
if (uniq[tmp][0] != -1) {
if (DEBUG) {
cout << "ERROR:" << tmp << endl;
ll fst = uniq[tmp][0];
ll snd = uniq[tmp][1];
cout << "FIRST:" << fst + 1 << "," << snd + 1 << endl;
cout << "SECOND:" << i + 1 << "," << j + 1 << endl;
}
flag = 0;
break;
}
else {
uniq[tmp][0] = i;
uniq[tmp][1] = j;
}
}
if (flag == 0)break;
}
if (flag == 1) {
for (int i = 0; i < n; i++) {
cout << (1 + d1 * i) % (n * m) << ' ';
}
cout << endl;
for (int i = 0; i < m; i++) {
cout << (1 + d2 * i) % (n * m) << ' ';
}
cout << endl;
return;
}
}
}
return;
}
int main() {
//testin;
//freopen("case1out.txt", "w", stdout);
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
int t = 1;
cin >> t;
while (t--) {
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3588kb
input:
2 2 3 2 2
output:
Yes 1 2 1 3 5 No
result:
ok 2 cases (2 test cases)
Test #2:
score: 0
Accepted
time: 41ms
memory: 26772kb
input:
1 1 1000000
output:
Yes 1 1 0 999999 999998 999997 999996 999995 999994 999993 999992 999991 999990 999989 999988 999987 999986 999985 999984 999983 999982 999981 999980 999979 999978 999977 999976 999975 999974 999973 999972 999971 999970 999969 999968 999967 999966 999965 999964 999963 999962 999961 999960 999959 99...
result:
ok 1 cases (1 test case)
Test #3:
score: 0
Accepted
time: 38ms
memory: 26924kb
input:
1 1000000 1
output:
Yes 1 0 999999 999998 999997 999996 999995 999994 999993 999992 999991 999990 999989 999988 999987 999986 999985 999984 999983 999982 999981 999980 999979 999978 999977 999976 999975 999974 999973 999972 999971 999970 999969 999968 999967 999966 999965 999964 999963 999962 999961 999960 999959 99995...
result:
ok 1 cases (1 test case)
Test #4:
score: 0
Accepted
time: 0ms
memory: 3716kb
input:
1 2 500000
output:
No
result:
ok 1 cases (1 test case)
Test #5:
score: 0
Accepted
time: 28ms
memory: 22808kb
input:
1 2 499999
output:
Yes 1 2 1 499999 999997 499997 999995 499995 999993 499993 999991 499991 999989 499989 999987 499987 999985 499985 999983 499983 999981 499981 999979 499979 999977 499977 999975 499975 999973 499973 999971 499971 999969 499969 999967 499967 999965 499965 999963 499963 999961 499961 999959 499959 99...
result:
ok 1 cases (1 test case)
Test #6:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
1 500000 2
output:
No
result:
ok 1 cases (1 test case)
Test #7:
score: 0
Accepted
time: 21ms
memory: 22968kb
input:
1 499999 2
output:
Yes 1 499999 999997 499997 999995 499995 999993 499993 999991 499991 999989 499989 999987 499987 999985 499985 999983 499983 999981 499981 999979 499979 999977 499977 999975 499975 999973 499973 999971 499971 999969 499969 999967 499967 999965 499965 999963 499963 999961 499961 999959 499959 999957 ...
result:
ok 1 cases (1 test case)
Test #8:
score: 0
Accepted
time: 0ms
memory: 3664kb
input:
1 3 333333
output:
No
result:
ok 1 cases (1 test case)
Test #9:
score: 0
Accepted
time: 21ms
memory: 21580kb
input:
1 3 333332
output:
Yes 1 3 5 1 333328 666655 999982 333313 666640 999967 333298 666625 999952 333283 666610 999937 333268 666595 999922 333253 666580 999907 333238 666565 999892 333223 666550 999877 333208 666535 999862 333193 666520 999847 333178 666505 999832 333163 666490 999817 333148 666475 999802 333133 666460 ...
result:
ok 1 cases (1 test case)
Test #10:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
1 333333 3
output:
No
result:
ok 1 cases (1 test case)
Test #11:
score: 0
Accepted
time: 35ms
memory: 21500kb
input:
1 333332 3
output:
Yes 1 333328 666655 999982 333313 666640 999967 333298 666625 999952 333283 666610 999937 333268 666595 999922 333253 666580 999907 333238 666565 999892 333223 666550 999877 333208 666535 999862 333193 666520 999847 333178 666505 999832 333163 666490 999817 333148 666475 999802 333133 666460 999787 ...
result:
ok 1 cases (1 test case)
Test #12:
score: 0
Accepted
time: 23ms
memory: 21012kb
input:
1 4 249999
output:
Yes 1 4 7 10 1 249993 499985 749977 999969 249965 499957 749949 999941 249937 499929 749921 999913 249909 499901 749893 999885 249881 499873 749865 999857 249853 499845 749837 999829 249825 499817 749809 999801 249797 499789 749781 999773 249769 499761 749753 999745 249741 499733 749725 999717 2497...
result:
ok 1 cases (1 test case)
Test #13:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
1 249998 4
output:
No
result:
ok 1 cases (1 test case)
Test #14:
score: -100
Time Limit Exceeded
input:
1 14925 67