답안 #501805

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
501805 2022-01-04T15:41:51 Z enerelt14 Red-blue table (IZhO19_stones) C++17
11 / 100
40 ms 1196 KB
#include<bits/stdc++.h>
using namespace std;
int n, m;
void solve(){
	cin>>n>>m;
	if (n==1){
		cout<<m<<"\n";
		for (int i=1;i<=m;i++)cout<<"-";
		cout<<"\n";
		return;
	}
	if (m==1){
		cout<<n<<"\n";
		for (int i=1;i<=n;i++)cout<<"+\n";
		return;	
	}
	if (n==2){
		cout<<m<<"\n";
		for (int i=1;i<=2;i++){
			for (int j=1;j<=m;j++){
				cout<<"-";
			}
			cout<<"\n";
		}
		return;
	}
	if (m==2){
		cout<<n<<"\n";
		for (int i=1;i<=n;i++){
			for (int j=1;j<=2;j++){
				cout<<"+";
			}
			cout<<"\n";
		}
		return;
	}
	if (n%2==1 && m%2==1){
		cout<<n+m-2<<"\n";
		for (int i=1;i<=n;i++){
			for (int j=1;j<=m;j++){
				if (i!=n && j!=m){
					if ((i+j)%2==1)cout<<"-";
					else cout<<"+";
					continue;
				}
				if (i==n)cout<<"-";
				else cout<<"+";
			}
			cout<<"\n";
		}
		return;
	}
	if (n%2==0 && m%2==0){
		if (n/2>=m-3){
			cout<<n+m-3<<"\n";
			int l=m/2-2, x;
			for (int i=1;i<=n;i++){
				for (int j=1;j<=m-3;j++){
					x=j-i;
					while(x<0)x+=(m-3);
					if (x<l)cout<<"+";
					else cout<<"-";
				}
				cout<<"+++";
				cout<<"\n";
			}
		}
		else{
			cout<<n+m-4<<"\n";
			for (int i=1;i<=n;i++){
				for (int j=1;j<=m;j++){
					if (i<n-1 && j<m-1){
						if (i+j%2==0)cout<<"+";
						else cout<<"-";
						continue;
					}
					if (i>n-2)cout<<"-";
					else cout<<"+";
				}
				cout<<"\n";
			}
		}
		return;
	}

}
int main(){
	int t;
	cin>>t;
	while(t--){
		solve();
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Wrong answer
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 288 KB Wrong answer
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Wrong answer
# 결과 실행 시간 메모리 Grader output
1 Correct 40 ms 1196 KB Output is correct
2 Correct 33 ms 1120 KB Output is correct
3 Correct 35 ms 1092 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 31 ms 1164 KB in the table A+B is not equal to 44
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 0 ms 204 KB Wrong answer