QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#534435 | #9114. Black or White 2 | Goldenglow1427 | WA | 0ms | 1612kb | C++17 | 1.7kb | 2024-08-27 10:04:56 | 2024-08-27 10:04:56 |
Judging History
answer
/*
ID: Victor Chen [mail_vi1]
PROG: QOJ 9114
LANG: C++
*/
#include <cstdlib>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cassert>
using namespace std;
const int Maxn = 1500;
int T;
int n, m, k;
bool rev;
int mp[Maxn+10][Maxn+10];
void solve()
{
scanf("%d%d%d", &n, &m, &k);
if(k*2 > n*m)
k = n*m-k, rev = true;
else
rev = false;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
mp[i][j] = 0;
if(n == 2)
{
for(int i=1; i*2<k; i++)
mp[1][i] = mp[2][i] = 1;
mp[1][(k+1)/2] = 1;
if(k % 2 == 0)
mp[2][m] = 1;
}
else
{
if(k <= (m+1)/2)
{
for(int i=1; i<=k; i++)
mp[1][2*i-1] = 1;
}
else
{
for(int i=1; i<=m; i+=2)
mp[1][i] = 1, k--;
for(int i=2; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
if(mp[i-1][j] == 0)
mp[i-1][j] = mp[i][j] = 1, k -= 2;
if(k < 2)
break;
}
if(k < 2)
break;
}
if(k == 1)
mp[n][m] = 1;
}
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
if(rev == true)
printf("%d", 1-mp[i][j]);
else
printf("%d", mp[i][j]);
printf("\n");
}
}
int main()
{
scanf("%d", &T);
while(T != 0)
{
T--;
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 1612kb
input:
2 2 2 2 2 3 0
output:
10 01 000 001
result:
wrong answer The number of black cell is not K