QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#586394 | #9114. Black or White 2 | pengpeng_fudan | WA | 0ms | 3824kb | C++23 | 2.9kb | 2024-09-24 11:58:05 | 2024-09-24 11:58:06 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
void solve(void) {
int n,m,k;
cin>>n>>m>>k;
bool flag=(n>m);
if(n>m) swap(n,m);
vector<vector<bool>> ans(n+1,vector<bool>(m+1));
if(n==2){
if(k==1){ans[1][1]=1;k--;}
else if(k==2) {ans[1][1]=ans[n][m]=1;k-=2;}
else{
for(int i=2;i<=m;i++){
if(k==1){ans[1][1]=1;k--;break;}
ans[1][i]=ans[2][i-1]=1;k-=2;
}
if(k) {ans[n][m]=1;k--;}
if(k) {ans[1][1]=1;k--;}
}
}
else{
if(k==0);
else if(k==1){
ans[1][1]=1;
}
else if(k==2){
ans[1][1]=ans[1][n]=1;
}
else if(k==3){
ans[1][1]=ans[1][m]=ans[n][1]=1;
}
else if(k==4){
ans[1][1]=ans[1][m]=ans[n][1]=ans[n][m]=1;
}
else{
ans[2][1]=ans[1][2]=ans[2][2]=ans[2][3]=ans[3][2]=1;
k-=5;
int x=3;
while(x+1<=n){
if(k==1) {ans[1][1]=1;k--;break;}
if(k==2) {ans[1][1]=ans[1][n]=1;k=0;break;}
ans[x+1][x]=ans[x][x+1]=ans[x][x]=1;k-=3;
x++;
}
if(k==1){ans[1][1]=1;k=0;}
else if(n==m){k--;ans[n][n]=1;}
else if(k>=2){ans[n][n]=ans[n][n+1]=1;k-=2;}
x=1;int y=3;int lo=3;
while(k){
if(y+1<=m){
if(k==1) {ans[1][1]=1;k--;break;}
else {ans[x][y]=ans[x][y+1]=1;k-=2;}
}
else if(y<=m){
ans[x][y]=1;k--;
}
if(x==1) lo+=2;
if(x==n) {
x=1,y=lo;
if(lo>m) break;
}
else x++,y++;
}
x=3,y=1;lo=3;
while(k){
if(x+1<=n){
if(k==1) {ans[1][1]=1;k--;break;}
else {ans[x][y]=ans[x+1][y]=1;k-=2;}
}
else if(x<=n){
ans[x][y]=1;k--;
}
if(y==1) lo+=2;
if(y==n) {
y=1,x=lo;
if(lo>n) break;
}
else x++,y++;
}
}
if(k) ans[1][1]=1;
}
if(flag){
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++) cout<<ans[j][i];
cout<<'\n';
}
}
else{
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) cout<<ans[i][j];
cout<<'\n';
}
}
}
int main() {
// ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int _ = 1;
cin >> _;
while (_--) solve();
return 0;
}
/*
UTCUCUCUCUPC
*/
詳細信息
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3824kb
input:
2 2 2 2 2 3 0
output:
10 01 111 111
result:
wrong answer The number of black cell is not K