QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#795038#9799. Magical Paletteucup-team5234#WA 50ms18988kbC++233.2kb2024-11-30 17:34:532024-11-30 17:34:54

Judging History

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

  • [2024-11-30 17:34:54]
  • 评测
  • 测评结果:WA
  • 用时:50ms
  • 内存:18988kb
  • [2024-11-30 17:34:53]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define all(v) (v).begin(),(v).end()
#define pb(a) push_back(a)
#define rep(i, n) for(int i=0;i<n;i++)
#define foa(e, v) for(auto& e : v)
using ll = long long;
const ll MOD7 = 1000000007, MOD998 = 998244353, INF = (1LL << 60);
#define dout(a) cout<<fixed<<setprecision(10)<<a<<endl;

bool judge(vector<ll> a, vector<ll> b) {
    ll n = a.size();
    ll m = b.size();
    vector<bool> ok(n * m, 0);
    foa(e, a) foa(e2, b) {
        if(ok[(e * e2) % (n * m)]) {
            return false;
        }
        ok[(e * e2) % (n * m)] = 1;
    }
    return true;
}
int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    rep(_, t) {
        ll n, m;
        cin >> n >> m;
        vector<ll> a(n), b(m);
        rep(i, n) {
            a[i] = m * i + 1;
        }
        rep(i, m) {
            b[i] = n * i + 1;
        }
        if(judge(a, b)) {
            cout << "Yes" << endl;
            foa(e, a) cout << e << " " ;
            cout << endl;
            foa(e, b) cout << e << " " ;
            cout << endl;
        } else {
            cout << "No" << endl;
        }
    }
    // int t;
    // cin >> t;
    // int N = 1000001;
    // vector<int> pri(N, -1);
    // for(int i = 2; i < N; i ++) {
    //     if(pri[i] != -1) continue;
    //     for(int j = i; j < N; j += i) {
    //         if(pri[j] == -1) pri[j] = i;
    //     }
    // }
    // rep(_, t) {
    //     ll n, m;
    //     cin >> n >> m;
    //     cout << "Yes" << endl;
    //     // vector<bool> used(n * m + 1, 0);
    //     // vector<ll> v;
    //     // for(int i = 1; i <= n * m; i ++) {
    //     //     if(pri[i] == i and __gcd(i, n) == 1 and __gcd(i, m) == 1) v.pb(i);
    //     // }


    //     vector<ll> ps;
    //     for(ll i = 2; i <= n * m; i ++) {
    //         if(__gcd(i, n) == 1 and __gcd(i, m) == 1 and pri[i] == i) ps.pb(i); 
    //     }
    //     ll sz = ps.size();
    //     vector<ll> counter(n * m + 1, 0);
    //     vector<ll> a, b;
    //     int id = 0;
    //     bool ng = 0;
    //     for(ll i = 1; i <= n; i ++) {
    //         if(i == 1) {
    //             a.pb(1);
    //             continue;
    //         }
    //         ll num = i;
    //         ll g = __gcd(i, n);
    //         while(__gcd(num, m) != 1LL and num ) { 
    //             num += n;
    //             assert(n * m >= num);
    //         }
    //         used[num] = 1;
    //         a.pb(num);
    //     }
    //     for(ll i = 1; i <= m; i ++) {
    //         if(i == 1) {
    //             b.pb(1);
    //             continue;
    //         }
    //         ll num = i;
    //         while(used[num] or __gcd(num, n) != 1LL) { 
    //             num += m;
    //             assert(n * m >= num);
    //         }
    //         used[num] = 1;
    //         b.pb(num);
    //     }
    //     if(!ng and judge(a, b)) {
    //         cout << "Yes" << endl;
    //         foa(e, a) cout << e << " " ;
    //         cout << endl;
    //         foa(e, b) cout << e << " " ;
    //     } else {
    //         cout << "No" << endl;
    //     }
    // }
    return 0;
}

詳細信息

Test #1:

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

input:

2
2 3
2 2

output:

Yes
1 4 
1 3 5 
No

result:

ok 2 cases (2 test cases)

Test #2:

score: -100
Wrong Answer
time: 50ms
memory: 18988kb

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 1...

result:

wrong answer Integer parameter [name=b[1000000]] equals to 1000000, violates the range [0, 999999] (test case 1)