Submission #1171802

#TimeUsernameProblemLanguageResultExecution timeMemory
1171802coolboy19521Red-blue table (IZhO19_stones)C++20
38 / 100
36 ms2888 KiB
#include "bits/stdc++.h" #define mxN 1003 using namespace std; char gr[mxN][mxN]; char nw[mxN][mxN]; int main(){ int T; cin >> T; while (T --){ int N, M; cin >> N >> M; for (int i = 1; i <= N; i ++) for (int j = 1; j <= M; j ++) gr[i][j] = "-+"[N >= M]; char d = '-'; if (M > N){ for (int i = 1; i <= N; i ++) for (int j = 1; j <= M; j ++) nw[j][i] = gr[i][j]; for (int i = 1; i <= M; i ++) for (int j = 1; j <= N; j ++) gr[i][j] = nw[i][j]; swap(N, M); d = '+'; } int v = (M + 1) / 2 - 1; int cas1 = N + (M + 1) / 2 - 1; int cas2 = N - 2 + 2 * v; if (N & 1) cas2 ++; for (int i = 1; i <= N / 2 + 1; i ++) for (int j = 1; j <= v; j ++) gr[i][j] = d; if (cas2 > cas1){ for (int i = N - (N / 2 + 1) + 1; i <= N; i ++) for (int j = v + 1; j <= 2 * v; j ++) gr[i][j] = d; } cout << max(cas1, cas2) << endl; if ('+' == d){ for (int i = 1; i <= N; i ++) for (int j = 1; j <= M; j ++) nw[j][i] = gr[i][j]; for (int i = 1; i <= M; i ++) for (int j = 1; j <= N; j ++) gr[i][j] = nw[i][j]; swap(N, M); } for (int i = 1; i <= N; i ++){ for (int j = 1; j <= M; j ++) cout << gr[i][j]; cout << endl; } } }
#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...