QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#475163 | #9114. Black or White 2 | ucup-team052# | AC ✓ | 160ms | 19164kb | C++23 | 2.5kb | 2024-07-13 12:03:49 | 2024-07-13 12:03:49 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
inline int Rnd(int l,int r) {return rnd()%(r-l+1)+l;}
#define mod 998244353
#define ll long long
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
inline int read()
{
char ch=getchar(); int nega=1; while(!isdigit(ch)) {if(ch=='-') nega=-1; ch=getchar();}
int ans=0; while(isdigit(ch)) {ans=ans*10+ch-48;ch=getchar();}
if(nega==-1) return -ans;
return ans;
}
void print(vector<int> x){for(int i=0;i<(int)x.size();i++) printf("%d%c",x[i]," \n"[i==(int)x.size()-1]);}
#define N 1505
int ans[N][N],tmp[N][N],n,m,k,op,op2;
void work()
{
n=read(),m=read(),k=read();
// n=Rnd(2,6),m=Rnd(2,6),k=n*m/2-Rnd(0,2);
// printf("%d %d %d\n",n,m,k);
op=op2=0;
int kk=k;
if(k>n*m/2) op=1,k=n*m-k;
if(n==2&&m==2)
{
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) ans[i][j]=0;
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(k) ans[i][j]=1,k--;
}
else
{
if(m<n) swap(n,m),op2=1;
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) ans[i][j]=0;
if(n==5&&m==5&&k==12)
{
for(int i=1;i<=n;i++) for(int j=1;j<=2;j++) ans[i][j]=1;
ans[2][3]=ans[4][3]=1;
}
else if(n==4&&m==5&&k==9)
{
for(int j=1;j<=m;j++) ans[1][j]=1;
ans[2][1]=ans[2][3]=ans[2][5]=ans[4][1]=1;
}
else if(n==4&&m==4&&k==5)
{
ans[1][1]=ans[1][2]=ans[2][1]=ans[4][2]=ans[4][4]=1;
}
else
{
int rst=(n+1)/2;
if(k<=rst)
{
for(int i=1;i<=n;i+=2) if(k) ans[i][1]=1,k--;
}
else
{
int wl=(k-rst)/n;
for(int j=1;j<=wl;j++) for(int i=1;i<=n;i++) ans[i][j]=1,k--;
for(int i=1;i<=n;i+=2) ans[i][wl+1]=1,k--;
for(int i=1;i<=n;i+=2) if(k) ans[i][m]=1,k--;
for(int i=1;i<=n;i+=2) if(k) ans[i][m-2]=1,k--;
}
}
if(op2)
{
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) tmp[i][j]=ans[i][j];
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) ans[j][i]=tmp[i][j];
swap(n,m);
}
}
if(op)
{
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) ans[i][j]^=1;
}
int sum=0;
for(int i=1;i<n;i++) for(int j=1;j<m;j++)
{
int w=ans[i][j]+ans[i][j+1]+ans[i+1][j]+ans[i+1][j+1];
sum+=w==2;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++) printf("%d",ans[i][j]);
printf("\n");
}
// if(n==2&&m==2&&kk==2)
// {
// printf("%d\n",sum);
// if(sum!=1) exit(0);
// }
// else
// {
// printf("%d\n",sum);
// if(sum!=0) exit(0);
// }
}
signed main()
{
int T=read(); while(T--) work();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 5816kb
input:
2 2 2 2 2 3 0
output:
11 00 000 000
result:
ok Output is valid. OK.
Test #2:
score: 0
Accepted
time: 153ms
memory: 5880kb
input:
27520 2 2 0 2 2 1 2 2 2 2 2 3 2 2 4 2 3 0 2 3 1 2 3 2 2 3 3 2 3 4 2 3 5 2 3 6 3 2 0 3 2 1 3 2 2 3 2 3 3 2 4 3 2 5 3 2 6 3 3 0 3 3 1 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 3 3 8 3 3 9 2 4 0 2 4 1 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 2 4 7 2 4 8 3 4 0 3 4 1 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10...
output:
00 00 10 00 11 00 01 11 11 11 000 000 100 000 101 000 110 100 010 111 011 111 111 111 00 00 00 10 00 00 10 00 10 11 10 00 01 11 01 01 11 11 11 11 11 000 000 000 100 000 000 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 011 111 111 111 111 111 0000 0000 1000 0000 1001 0000 1...
result:
ok Output is valid. OK.
Test #3:
score: 0
Accepted
time: 144ms
memory: 19164kb
input:
162 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9 ...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #4:
score: 0
Accepted
time: 148ms
memory: 19044kb
input:
163 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9 ...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #5:
score: 0
Accepted
time: 146ms
memory: 17352kb
input:
165 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9 ...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #6:
score: 0
Accepted
time: 150ms
memory: 12588kb
input:
1020 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #7:
score: 0
Accepted
time: 153ms
memory: 12896kb
input:
1012 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #8:
score: 0
Accepted
time: 154ms
memory: 14308kb
input:
1033 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4 9...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #9:
score: 0
Accepted
time: 160ms
memory: 5976kb
input:
100000 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #10:
score: 0
Accepted
time: 62ms
memory: 5832kb
input:
100000 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #11:
score: 0
Accepted
time: 62ms
memory: 5968kb
input:
100000 2 2 2 2 3 2 2 3 3 2 3 4 3 2 2 3 2 3 3 2 4 3 3 2 3 3 3 3 3 4 3 3 5 3 3 6 3 3 7 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 3 4 2 3 4 3 3 4 4 3 4 5 3 4 6 3 4 7 3 4 8 3 4 9 3 4 10 4 2 2 4 2 3 4 2 4 4 2 5 4 2 6 4 3 2 4 3 3 4 3 4 4 3 5 4 3 6 4 3 7 4 3 8 4 3 9 4 3 10 4 4 2 4 4 3 4 4 4 4 4 5 4 4 6 4 4 7 4 4 8 4 4...
output:
11 00 101 000 110 100 010 111 10 00 10 11 10 00 01 11 01 100 000 100 101 000 100 101 000 101 010 111 010 010 111 011 011 111 011 1001 0000 1100 1000 1101 1000 0011 0111 0110 1111 1000 0000 1000 1001 0000 1000 1001 0000 1001 1100 1000 1100 1101 1000 1100 0011 0111 0011 0110 1111 0110 0110 1111 0111 0...
result:
ok Output is valid. OK.
Test #12:
score: 0
Accepted
time: 140ms
memory: 12980kb
input:
3 1500 1500 2250000 1322 1322 1747684 1158 2 2316
output:
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok Output is valid. OK.
Test #13:
score: 0
Accepted
time: 143ms
memory: 14016kb
input:
3 1500 1500 1125000 1322 1322 873842 1158 2 1158
output:
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok Output is valid. OK.
Extra Test:
score: 0
Extra Test Passed