답안 #498561

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
498561 2021-12-25T13:12:53 Z The_Samurai Red-blue table (IZhO19_stones) C++
27 / 100
2 ms 332 KB
#include <bits/stdc++.h>

using namespace std;

/*
16
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
4 1
4 2
4 3
4 4
*/

void solve() {
	int n, m, ans, x = 1;
	
	cin >> n >> m;
	if (n == 1) {
		cout << m << '\n';
		for (int i = 0; i < m; i++) {
			cout << '-';
		}
		cout << '\n';
		return;
	}
	// 4 1
	if (n == 2) {
		if (m == 1) {
			cout << "2\n";
			cout << "+\n+\n";
			return;
		}
		cout << m << '\n';
		for (int i = 0; i < m; i++) {
			cout << '-';
		}
		cout << '\n';
		for (int i = 0; i < m; i++) {
			cout << '-';
		}
		cout << '\n';
		return;
	}
	if (n == 3) {
		if (m == 1) {
			cout << "3\n";
			cout << "+\n+\n+\n";
			return;
		}
		cout << m + 1 << '\n';
		for (int i = 0; i < 2; i++) {
			for (int j = 0; j < m; j++) {
				cout << '-';
			}
			cout << '\n';
		}
		for (int i = 0; i < m; i++) {
			cout << '+';
		}
		cout << '\n';
		return;
	}
	if (m <= 2) {
		cout << n << '\n';
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				cout << '+';
			}
			cout << '\n';
		}
		return;
	}
	if (m == 3) {
		cout << n + 1 << '\n';
		for (int i = 0; i < n; i++) {
			cout << "++-\n";
		}
		return;
	}
	if (n == 4 && m == 4) {
		cout << "5\n";
		cout << "++++\n----\n----\n----\n";
		return;
	}
	if (n == 4) {
		cout << m + 1 << '\n';
		for (int i = 0; i < 3; i++) {
			for (int j = 0; j < m; j++) {
				cout << '-';
			}
			cout << '\n';
		}
		for (int i = 0; i < m; i++) {
			cout << '+';
		}
		cout << '\n';
		return;
	}
	if (m == 4) {
		cout << n + 1 << '\n';
		for (int i = 0; i < n; i++) {
			cout << "+++-\n";
		}
		return;
	}
	if (n == 5) {
		cout << m + 2 << '\n';
		for (int i = 0; i < 3; i++) {
			for (int j = 0; j < m; j++) {
				cout << '-';
			}
			cout << '\n';
		}
		for (int i = 0; i < 2; i++) {
			for (int j = 0; j < m; j++) {
				cout << '+';
			}
			cout << '\n';
		}
		return;
	}
	if (m == 5) {
		cout << n + 2 << '\n';
		for (int i = 0; i < n; i++) {
			cout << "+++--\n";
		}
		return;
	}
}

int main() {
	int t;
	
	cin >> t;
	while (t--) {
		solve();
	}
}

Compilation message

stones.cpp: In function 'void solve()':
stones.cpp:26:12: warning: unused variable 'ans' [-Wunused-variable]
   26 |  int n, m, ans, x = 1;
      |            ^~~
stones.cpp:26:17: warning: unused variable 'x' [-Wunused-variable]
   26 |  int n, m, ans, x = 1;
      |                 ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 2 ms 204 KB Output is correct
4 Incorrect 2 ms 332 KB Wrong answer in test 5 29: 31 < 32
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Wrong answer
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Wrong answer
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 2 ms 204 KB Output is correct
4 Incorrect 2 ms 332 KB Wrong answer in test 5 29: 31 < 32