QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#789465 | #9799. Magical Palette | ucup-team5071# | WA | 50ms | 18812kb | C++20 | 1.5kb | 2024-11-27 20:27:33 | 2024-11-27 20:27:33 |
Judging History
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
*/
詳細信息
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)