QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#235160 | #6644. Red Black Grid | jzh# | WA | 29ms | 3660kb | C++20 | 1.6kb | 2023-11-02 15:22:38 | 2023-11-02 15:22:39 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
ll n, k;
cin >> n >> k;
vector<vector<int>> block(n, vector<int>(n));
vector<pair<ll, pii>> op;
int cnt3 = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if ((i + j) % 2 == 0) {
block[i][j] = 1;
int cnt = 4;
if (i == 0 || i == n - 1)cnt--;
if (j == 0 || j == n - 1)cnt--;
op.push_back({cnt, {i, j}});
cnt3 += (cnt == 3);
}
}
}
sort(op.begin(), op.end());
reverse(op.begin(), op.end());
ll num = 2LL * n * (n - 1) - k;
for (auto [cnt, pos]: op) {
if (num - cnt != 1 && num >= cnt) {
if (cnt == 3) {
cnt3--;
if (cnt3 == 0 && (num - cnt) % 2 == 1)continue;
}
num -= cnt;
block[pos.first][pos.second] = 0;
}
}
if (num != 0) {
cout << "Impossible\n";
} else {
cout << "Possible\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << (block[i][j] ? 'R' : 'B');
}
cout << "\n";
}
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3660kb
input:
2 3 6 3 1
output:
Possible RBR BBB RBB Impossible
result:
ok correct! (2 test cases)
Test #2:
score: -100
Wrong Answer
time: 29ms
memory: 3556kb
input:
4424 1 0 2 4 2 3 2 2 2 1 2 0 3 12 3 11 3 10 3 9 3 8 3 7 3 6 3 5 3 4 3 3 3 2 3 1 3 0 4 24 4 23 4 22 4 21 4 20 4 19 4 18 4 17 4 16 4 15 4 14 4 13 4 12 4 11 4 10 4 9 4 8 4 7 4 6 4 5 4 4 4 3 4 2 4 1 4 0 5 40 5 39 5 38 5 37 5 36 5 35 5 34 5 33 5 32 5 31 5 30 5 29 5 28 5 27 5 26 5 25 5 24 5 23 5 22 5 21 5...
output:
Possible R Possible RB BR Impossible Possible RB BB Impossible Possible BB BB Possible RBR BRB RBR Impossible Possible RBR BRB RBB Impossible Possible RBR BBB RBR Impossible Possible RBR BBB RBB Impossible Possible RBR BBB BBB Impossible Possible RBB BBB BBB Impossible Possible BBB BBB BBB Possible ...
result:
wrong answer Condition failed: "A == B" (test case 10)