Submission #1127905

#TimeUsernameProblemLanguageResultExecution timeMemory
1127905vusalRed-blue table (IZhO19_stones)C++20
0 / 100
6 ms1348 KiB
//mubarizvusal
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

#define allr(v) v.rbegin(), v.rend()
#define all(v) v.begin(), v.end()
#define mcqueen ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
#define pii pair<int,int>
#define pb push_back
#define new int32_t
#define ts to_string
#define fi first
#define se second
#define ins insert
#define int ll
#define kub(i) i*i*i

new main(){
	    int T; cin >> T;
    while(T--){
        int N, M; cin >> N >> M;
        vector<string> grid(N, string(M, '+'));

        int mid_row = N / 2;
        int mid_col = M / 2;

        // Üst yarı: Genelde '+'
        // Sağ taraftaki son sütunu '-' yaparak sütunlarda az da olsa mavi ekleyelim
        for(int i=0; i<mid_row; i++){
            // Son sütunu '-'
            if(M > 0) grid[i][M-1] = '-';
        }

        // Alt yarı: Tamamen '-'
        for(int i=mid_row; i<N; i++){
            for(int j=0; j<M; j++){
                grid[i][j] = '-';
            }
        }

        // Sonuç olarak:
        // Üst yarıda çoğunluk '+', ama en sağda '-' var
        // Alt yarıda tamamen '-'
        // Bu desenin A+B değeri bazı durumlarda artış gösterebilir.

        // A + B değerini hesaplayalım (opsiyonel)
        // Burada gösteriyoruz ama problemde sadece tabloyu basmamız da yeterli.
        auto computeAB = [&](const vector<string>& g){
            int A=0, B=0;
            // Hesapla A
            for(int i=0;i<N;i++){
                int plusCount=0, minusCount=0;
                for(int j=0;j<M;j++){
                    if(g[i][j] == '+') plusCount++; else minusCount++;
                }
                if(plusCount > minusCount) A++;
            }
            // Hesapla B
            for(int j=0;j<M;j++){
                int plusCount=0, minusCount=0;
                for(int i=0;i<N;i++){
                    if(g[i][j] == '+') plusCount++; else minusCount++;
                }
                if(minusCount > plusCount) B++;
            }
            return make_pair(A,B);
        };

        auto [A,B] = computeAB(grid);
        cout << (A+B) << "\n";
        for(auto &row : grid) cout << row << "\n";
    }
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...