제출 #490795

#제출 시각아이디문제언어결과실행 시간메모리
490795AbdurahmonRed-blue table (IZhO19_stones)C++14
100 / 100
144 ms2244 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int t;
cin>>t;
while(t--)
{
	int a,b;
	cin>>a>>b;
	bool ss=0;
	if(a>b)
	{
		ss=1;
		swap(a,b);
	}
	char aa[a][b];
	map<int,int>a1,b1;
	int e=(a-1)/2,	h=b/2+1;
	int mxx = 0;
	for(int c=0;c<a;c++)
	{
		int mx=mxx, h1=h;
		for(int i=0;i<b;i++)
		{
			if(a1[i]<e){
				if(h1!=0){
					if(b-i==h1 || a1[i]<mx)
						aa[c][i]='+', h1--, a1[i]++, b1[c]++;
					else
						aa[c][i]='-';
				}
				else
					aa[c][i]='-';
			}
			else
				aa[c][i]='-';
			mxx = max(mxx, a1[i]);
		}
	}
	int ans=0;
	for(int c=0; c<a; c++)
		if(b1[c]==h)
			ans++;
	cout << ans+b << "\n";
	if(ss)
	{
		for(int c=0;c<b;c++)
		{
			for(int i=0;i<a;i++)
			{
				if(aa[i][c]=='-')
					cout << '+';
				else
					cout << '-';
			}
			cout<<"\n";
		}
	}
	else
	{
			for(int c=0;c<a;c++)
		{
			for(int i=0;i<b;i++)
			{
				cout<<aa[c][i];
			}
			cout<<"\n";
		}
		
	}
	
}
}
#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...