Submission #855872

#TimeUsernameProblemLanguageResultExecution timeMemory
855872Halym2007Red-blue table (IZhO19_stones)C++11
0 / 100
44 ms1372 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 5;
char jog[N][N];
int main () {
//	freopen("input.txt", "r", stdin);
	int t;
	cin >> t;
	while ( t-- ) {
		int n, m;
		cin >> n >> m;
		if (min(n, m) == 1) {
			char c;
			if (n == 1) c = '-';
			else c = '+';
			cout << max (n, m) << endl;
			for (int i = 1; i <= n; ++i) {
				for (int j = 1; j <= m; ++j) {
					jog[i][j] = c;
				}
			}
		}
		else if (n >= m) {
			for (int i = 1; i <= n; ++i) {
				for (int j = 1; j <= m; ++j) {
					jog[i][j] = '1';
				}
			}
			for (int i = 1; i <= n; ++i) {
				for (int j = 1; j <= m / 2 + 1; ++j) {
					jog[i][j] = '+';
				}
			}
			cout << n + (m - (m / 2 + 1)) << endl;
			for (int i = 1; i <= n; ++i) {
				for (int j = 1; j <= m; ++j) {
					if (jog[i][j] == '1') jog[i][j] = '-';
				}
			}
		}
		else {
			for (int i = 1; i <= n; ++i) {
				for (int j = 1; j <= m; ++j) {
					jog[i][j] = '1';
				}
			}
			for (int i = 1; i <= m; ++i) {
				for (int j = 1; j <= n / 2 + 1; ++j) {
					jog[j][i] = '+';
				}
			}
			cout << m + (n - (n / 2 + 1)) << endl;
			for (int i = 1; i <= n; ++i) {
				for (int j = 1; j <= m; ++j) {
					if (jog[i][j] == '1') jog[i][j] = '+';
				}
			}
		}
		for (int i = 1; i <= n; ++i) {
			for (int j = 1; j <= m; ++j) {
				cout << jog[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...