QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#534435#9114. Black or White 2Goldenglow1427WA 0ms1612kbC++171.7kb2024-08-27 10:04:562024-08-27 10:04:56

Judging History

你现在查看的是最新测评结果

  • [2024-08-27 10:04:56]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:1612kb
  • [2024-08-27 10:04:56]
  • 提交

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;
}

详细

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