제출 #333041

#제출 시각아이디문제언어결과실행 시간메모리
333041BoabaRed-blue table (IZhO19_stones)C++14
100 / 100
56 ms3328 KiB
#include <iostream>
#include <algorithm>

const int N = 1e3 + 5;

int n, m, t;
char ans[N][N], afis[N][N];

void solve() {
	char ch='-', rch = '+';
	std::cin >> n >> m;
	if (n > m) {
		std::swap(n, m);
		std::swap(ch, rch);
	}
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++)
			ans[i][j] = ch;
	int bulan = m * ((n - 1) / 2);
	int i = 0, k = 0;
	for (int x = 0; x < bulan; x++) {
		ans[i][x % m] = rch, k++;
		if (k*2 > m)  k = 0, i++;
	}
	std::cout << m + i << '\n';
	if (ch == '+') std::swap(n, m);
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++)
			afis[i][j] = ((ch == '-' ? ans[i][j] : ans[j][i]));
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++)
			std::cout << afis[i][j];
		std::cout << "\n";
	}
}

int main() {
	std::cin >> t;
	while (t--) solve();
}
#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...