답안 #993731

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
993731 2024-06-06T10:41:05 Z n3rm1n Red-blue table (IZhO19_stones) C++17
15 / 100
27 ms 3928 KB
#include<bits/stdc++.h>
#define endl '\n'
#define ll long long
using namespace std;
const int MAXN = 1e3+10;
void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
}
int n, m;
/// 1 - red
/// 0 - blue
int a[MAXN][MAXN];

int cnt[MAXN];
void solve_test()
{
    cin >> n >> m;
    int nooo = 0;
    if(n < m)
    {
        nooo = 1;
        swap(n, m);
    }
    if(n >= m)
    {
        for (int i = 1; i <= n; ++ i)
        {
            for (int j = 1; j <= m; ++ j)
                a[i][j] = 1;
        }
        memset(cnt, 0, sizeof(cnt));
        int togive = (m - 1)/2;
        int need = n/2 + 1;
        int i = 1;
        int ans = n;

        for (int j = 1; j <= m; ++ j)
        {
            if(cnt[i] >= togive)break;

            int token = need;
            while(token)
            {
                if(cnt[i] >= togive)break;
                a[i][j] = 0;
                //cout << i << " " << j << " " << endl;
                token --;
                cnt[i] ++;
                i ++;
                if(i == n+1)i = 1;
            }
            if(!token)ans ++;
        }

        if(!nooo)
        {
            cout << ans << endl;
        for (int i = 1; i <= n; ++ i)
        {
            for (int j = 1; j <= m; ++ j)
            {
                if(a[i][j] == 1)cout << '+';
                else cout << '-';
            }
            cout << endl;
        }
        }
        else
        {
            cout << ans << endl;
        for (int i = 1; i <= m; ++ i)
        {
            for (int j = 1; j <= n; ++ j)
            {
                if(a[i][j] == 0)cout << '+';
                else cout << '-';
            }
            cout << endl;
        }
        }
    }
}
int main()
{
    speed();
    int t;
    cin >> t;
    while(t --)
    {
        solve_test();
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB in the table A+B is not equal to 3
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2652 KB in the table A+B is not equal to 46
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB in the table A+B is not equal to 3
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 27 ms 3672 KB in the table A+B is not equal to 78
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 3440 KB Output is correct
2 Correct 14 ms 3928 KB Output is correct
3 Correct 18 ms 3420 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB in the table A+B is not equal to 3
2 Halted 0 ms 0 KB -