Submission #683386

#TimeUsernameProblemLanguageResultExecution timeMemory
683386Onur_IlgazRed-blue table (IZhO19_stones)C++17
100 / 100
22 ms2196 KiB
#include <bits/stdc++.h>
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL);
#define int long long
#define inf 1e18
using namespace std;
bool grid[1001][1001];

void solve(){
	int n, m;
	cin>>n>>m;
	bool whobig=n>m;
	for(int i=1; i<=n; i++){
		for(int j=1; j<=m; j++){
			grid[i][j]=whobig; //1 + demek, 0 -
		}
	}
	int k=(min(n, m)-1)/2, sutun=1, satir=1, cnt=0;
	int ans=0;
	for(int i=1; i<=k; i++){
		if(whobig){ //satır sayısı sütun sayısından fazla ise
			for(int j=1; j<=n; j++){
				grid[j][sutun]=0;
				cnt++;
				if(cnt == n/2+1){
					cnt=0;
					sutun++;
					ans++;
				}
			}
		}
		else{
			for(int j=1; j<=m; j++){
				grid[satir][j]=1;
				cnt++;
				if(cnt == m/2+1){
					cnt=0;
					satir++;
					ans++;
				}
			}
		}
	}
	ans+=max(n, m);
	cout<<ans<<"\n";
	for(int i=1; i<=n; i++){
		for(int j=1; j<=m; j++){
			if(grid[i][j]){
				cout<<'+';
			}
			else cout<<'-';
		}
		cout<<"\n";
	}
}

int32_t main(){
	fast
	#ifdef Local
    freopen("in","r",stdin);
    freopen("out","w",stdout);
    #endif
	int t=1;
	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...