QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#795182#9799. Magical PaletteLegend_dy#WA 239ms50516kbC++202.4kb2024-11-30 18:23:442024-11-30 18:23:48

Judging History

你现在查看的是最新测评结果

  • [2024-11-30 18:23:48]
  • 评测
  • 测评结果:WA
  • 用时:239ms
  • 内存:50516kb
  • [2024-11-30 18:23:44]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;

using ll = long long;

int N, M;
int ans = 0;

vector<int> a, b;
void dfs(int u, int v, int A, int B) {
    if (u == 0 && v == 0) {
        set<int> s;
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                s.insert(a[i] * b[j] % (N * N));
            }
        }
        if (s.size() == N * M) {
            cout << "!!!!\n";
            exit(0);
        }
        return;
    }
    for (int i = A + 1; i < N * M; i++) {
        a.push_back(i);
        dfs(u - 1, v, i, B);
        a.pop_back();
    }
    for (int i = B + 1; i < N * M; i++) {
        b.push_back(i);
        dfs(u, v - 1, A, i);
        b.pop_back();
    }
}
void init() {
    // N = 4, M = 3;
    // dfs(N, M, -1, -1);
    // cout << ans;
}

void solve() {
    int n, m;
    cin >> n >> m;
    if (n == 1 && m == 1) {
        cout << "Yes\n0\n0\n";
        return;
    }
    if (n == m) {
        cout << "No\n";
        return;
    }
    if (n < m) {
        set<int> s;
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= m; j++) {
                s.insert(1ll * i * ((j-1)*n + 1) % (n * m));
            }
        }
        if (s.size() != n * m) {
            cout << "No\n";
            return;
        }
        cout << "Yes\n";
        for (int i = 1; i <= n; i++) {
            cout << i % (n * m) << " \n"[i == n];
        }
        for (int i = 1; i <= m; i++) {
            cout << ((i - 1) * n + 1) % (n * m) << " \n"[i == m];
        }
    }else {
        set<int> s;
        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j++) {
                s.insert(1ll * i * ((j-1)*m + 1) % (n * m));
                // cerr << i * ((j-1)*m + 1) % (n * m) << " \n"[j == n];
            }
        }
        if (s.size() != n * m) {
            cout << "No\n";
            return;
        }
        cout << "Yes\n";
        for (int i = 1; i <= n; i++) {
            cout << ((i - 1) * m + 1) % (n * m) << " \n"[i == n];
        }
        for (int i = 1; i <= m; i++) {
            cout << i % (n * m) << " \n"[i == m];
        }
    }
}

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    // init();
    int T;
    cin >> T;
    while (T--) {
        solve();
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3676kb

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: 239ms
memory: 50456kb

input:

1
1 1000000

output:

Yes
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10...

result:

ok 1 cases (1 test case)

Test #3:

score: 0
Accepted
time: 234ms
memory: 50516kb

input:

1
1000000 1

output:

Yes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 ...

result:

ok 1 cases (1 test case)

Test #4:

score: 0
Accepted
time: 130ms
memory: 38832kb

input:

1
2 500000

output:

No

result:

ok 1 cases (1 test case)

Test #5:

score: 0
Accepted
time: 157ms
memory: 50516kb

input:

1
2 499999

output:

Yes
1 2
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173...

result:

ok 1 cases (1 test case)

Test #6:

score: 0
Accepted
time: 138ms
memory: 38796kb

input:

1
500000 2

output:

No

result:

ok 1 cases (1 test case)

Test #7:

score: 0
Accepted
time: 161ms
memory: 50456kb

input:

1
499999 2

output:

Yes
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175...

result:

ok 1 cases (1 test case)

Test #8:

score: 0
Accepted
time: 103ms
memory: 40040kb

input:

1
3 333333

output:

No

result:

ok 1 cases (1 test case)

Test #9:

score: -100
Wrong Answer
time: 114ms
memory: 42704kb

input:

1
3 333332

output:

No

result:

wrong answer Wrong Verdict (test case 1)