제출 #884887

#제출 시각아이디문제언어결과실행 시간메모리
884887damirkaRed-blue table (IZhO19_stones)C++17
100 / 100
47 ms2224 KiB
#include <bits/stdc++.h>
using namespace std;
int t,n,m;
char a[1010][1010];
int main() {
	cin >> t;
	while(t--){
		cin >> n >> m;
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				a[i][j]='0';
			}
		}
		if(n>m){
			int cnt=n;
			cnt+=((n*m)-(n*((m/2)+1)))/((n/2)+1);
			for(int i=0;i<n-cnt+m;i++){
				for(int j=0;j<n;j++){
					a[j][i]='+';
				}
			}
			int cnt1=0;
			for(int i=n-cnt+m;i<n;i++){
				for(int j=0;j<n-(n/2)-1;j++){
					a[cnt1][i]='+';
					cnt1++;
					cnt1%=n;
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					if(a[i][j]!='+'){
						a[i][j]='-';
					}
				}
			}
			cout << cnt << endl;
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					cout << a[i][j];
				}
				cout << endl;
			}
		}
		if(n<m){
			int cnt=m;
			cnt+=((n*m)-(m*((n/2)+1)))/((m/2)+1);
			for(int i=0;i<n-cnt+m;i++){
				for(int j=0;j<m;j++){
					a[i][j]='-';
				}
			}
			int cnt1=0;
			for(int i=n-cnt+m;i<n;i++){
				for(int j=0;j<m-(m/2)-1;j++){
					a[i][cnt1]='-';
					cnt1++;
					cnt1%=m;
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					if(a[i][j]!='-'){
						a[i][j]='+';
					}
				}
			}
			cout << cnt << endl;
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					cout << a[i][j];
				}
				cout << endl;
			}
		}
		if(n==m){
			int cnt=0;
			cnt+=(n*m)/((n/2)+1);
			for(int i=0;i<n-cnt+m;i++){
				for(int j=0;j<n;j++){
					a[j][i]='+';
				}
			}
			int cnt1=0;
			for(int i=n-cnt+m;i<n;i++){
				for(int j=0;j<n-(n/2)-1;j++){
					a[cnt1][i]='+';
					cnt1++;
					cnt1%=n;
				}
			}
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					if(a[i][j]!='+'){
						a[i][j]='-';
					}
				}
			}
			cout << cnt << endl;
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					cout << a[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...