제출 #1156342

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

#define ll long long
int const N=2e5+5;
int const mod=1e9+7;

int n,m;

int calcu(vector<vector<bool>> v){
	// cout<<n<<' '<<m<<endl;
	int a=0;
	for(int i=0;i<n;i++){
		int c=0;
		for(int j=0;j<m;j++)
			if(v[i][j]==1)
				c++;
		if(c*2>m)
			a++;
	}
	for(int j=0;j<m;j++){
		int c=0;
		for(int i=0;i<n;i++){
			if(v[i][j]==0)
				c++;
		}
		if(c*2>n)
			a++;
	}
	return a;
}

void solve(){
	// int n,m;
	cin>>n>>m;
	int k=(n*m);
	int an=-1;
	vector<vector<bool>> ans;
	for(int mask=0;mask<(1<<k);mask++){
		vector<vector<bool>> v;
		for(int i=0;i<n;i++){
			v.push_back({});
			for(int j=0;j<m;j++){
				int d=(i*n)+j;
				v[i].push_back(bool((1<<d)&mask));
			}
		}
		// cout<<mask<<endl;
		int a=calcu(v);
		if(a>an){
			an=a;
			ans=v;
		}
		// break;
	}
	string st="-+";
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++)
			cout<<st[ans[i][j]];
		cout<<endl;
	}
}
int main(){
	int t;
	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...