제출 #372335

#제출 시각아이디문제언어결과실행 시간메모리
372335mariowongRed-blue table (IZhO19_stones)C++14
0 / 100
36 ms1536 KiB
#include <bits/stdc++.h>
using namespace std;

int t,n,m,pos,num;
char ans[1005][1005];
int main(){
	ios::sync_with_stdio(false);
	cin >> t;
	while (t--){
		cin >> n >> m;
		cout << max(min((n-1)/2*m/(n/2+1),(m-1)/2)+n,min((m-1)/2*n/(m/2+1),(n-1)/2)+m) << "\n";
		if ((n-1)/2*m/(n/2+1)+n > (m-1)/2*n/(m/2+1)+m){
			for (int i=1;i<=n;i++){
				for (int j=1;j<=m;j++){
					ans[i][j]='+';
				}
			}
			pos=1;
			for (int i=1;i<=min((n-1)/2*m/(n/2+1),(m-1)/2);i++){
				for (int j=1;j<=n/2+1;j++){
					ans[pos][i]='-';
					pos++; 
					if (pos == n+1)
					pos=1;
				}	
			}
		}
		else
		{
			for (int i=1;i<=n;i++){
				for (int j=1;j<=m;j++){
					ans[i][j]='-';
				}
			}
			pos=1;
			for (int i=1;i<=min((m-1)/2*n/(m/2+1),(n-1)/2);i++){
				for (int j=1;j<=m/2+1;j++){
					ans[i][pos]='+';
					pos++; 
					if (pos == m+1)
					pos=1;
				}	
			}
		}
		for (int i=1;i<=n;i++){
			for (int j=1;j<=m;j++){
				cout << ans[i][j];
			}
			cout << "\n";
		}
	}
    return 0;
}	
#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...