답안 #424117

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
424117 2021-06-11T16:57:52 Z doowey Red-blue table (IZhO19_stones) C++14
27 / 100
36 ms 1328 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;

#define fi first
#define se second
#define mp make_pair
#define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);

const int N = 1010;


vector<vector<char>> get(int n, int m, int &sol){
    sol = n;
    vector<vector<char>> sos;
    sos.resize(n);
    for(int i = 0 ; i < n; i ++ ){
        sos[i].resize(m, '-');
    }
    for(int i = 0 ; i < n; i ++ ){
        for(int j = 0; j < (m + 2) / 2; j ++ ){
            sos[i][j] = '+';
        }
    }
    int mod = (n+2)/2;
    int xx = 0;
    if(m > 2)
        sol += (m+1)/2-1;
    for(int take = 0 ; take < (m-3)/2; take ++ ){
        xx = take;
        for(int j = 0; j < mod; j ++ ){
            sos[take][j] = '-';
            sos[j][xx + (m+1)/2] = '+';
            xx ++ ;
            xx %= m/2;
        }
    }
    return sos;
}

void solve(){
    int n, m;
    cin >> n >> m;
    if(n >= m){
        int res = 0;
        vector<vector<char>> cc = get(n, m, res);
        cout << res << "\n";
        for(auto x : cc){
            for(auto y : x){
                cout << y;
            }
            cout << "\n";
        }
    }
    else{
        int res = 0;
        vector<vector<char>> cc = get(m, n, res);
        for(auto &x : cc){
            for(auto &y : x){
                if(y == '+') y = '-';
                else y = '+';
            }
        }
        cout << res << "\n";
        for(int i = 0 ; i < n; i ++ ){
            for(int j = 0 ; j < m ; j ++ ){
                cout << cc[j][i];
            }
            cout << "\n";
        }

    }
}

int main(){
    fastIO;
    //freopen("in.txt","r",stdin);
    int tc;
    cin >> tc;
    for(int iq = 1; iq <= tc; iq ++ ){
        solve();
    }
    return 0;
}

# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Runtime error 2 ms 460 KB Execution killed with signal 6
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 460 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 36 ms 1328 KB in the table A+B is not equal to 35
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 2 ms 332 KB Output is correct
4 Runtime error 2 ms 460 KB Execution killed with signal 6