QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#789465#9799. Magical Paletteucup-team5071#WA 50ms18812kbC++201.5kb2024-11-27 20:27:332024-11-27 20:27:33

Judging History

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

  • [2024-11-27 20:27:33]
  • 评测
  • 测评结果:WA
  • 用时:50ms
  • 内存:18812kb
  • [2024-11-27 20:27:33]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define int long long
int W;
void Solve()
{
    W++;
    int n, m;
    cin >> n >> m;
    // n = (W - 1) / 5 + 1;
    // m = (W - 1) % 5 + 1;
    int mod = n * m;
    vector<int> a(n + 1), b(m + 1);
    auto check = [&]() -> int
    {
        vector<int> mp(n * m + 1);
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= m; j++)
            {
                int val = a[i] * b[j] % mod;
                if (!mp[val])
                    mp[val] = 1;
                else
                    return 0;
            }
        }
        return 1;
    };
    auto print = [&]() -> void
    {
        cout << "Yes" << "\n";
        for (int i = 1; i <= n; i++)
            cout << a[i] << " ";
        cout << "\n";
        for (int i = 1; i <= m; i++)
            cout << b[i] << " ";
        cout << "\n";
    };
    a[1] = b[1] = 1;
    for (int i = 2; i <= n; i++)
        a[i] = a[i - 1] + n - 1;
    for (int i = 2; i <= m; i++)
        b[i] = b[i - 1] + i - 1;
    if (check())
    {
        print();
        return;
    }
    for (int i = 2; i <= n; i++)
        a[i] = a[i - 1] + i - 1;
    for (int i = 2; i <= m; i++)
        b[i] = b[i - 1] + m - 1;
    if (check())
        print();
    else
        cout << "No" << "\n";
}
signed main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int T;
    cin >> T;
    while (T--)
        Solve();
    return 0;
}
/*
5
2 2
2 3
3 3
3 4
4 5
*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2
2 3
2 2

output:

Yes
1 2 
1 3 5 
No

result:

ok 2 cases (2 test cases)

Test #2:

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

input:

1
1 1000000

output:

Yes
1 
1 1000000 1999999 2999998 3999997 4999996 5999995 6999994 7999993 8999992 9999991 10999990 11999989 12999988 13999987 14999986 15999985 16999984 17999983 18999982 19999981 20999980 21999979 22999978 23999977 24999976 25999975 26999974 27999973 28999972 29999971 30999970 31999969 32999968 3399...

result:

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