Submission #1156339

#TimeUsernameProblemLanguageResultExecution timeMemory
1156339MuhammadSaramRed-blue table (IZhO19_stones)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

const int mod = 1e9 + 7, V = 32;

vector<string> sol(int n,int m)
{
	vector<string> v;
	for (int i=0;i<n/2;i++)
	{
		string s(m/2+1,'+'),s1(m/2,'-');
		s+=s1;
		v.push_back(s);
	}
	string wh(m,'-');
	v.push_back(wh);
	for (int i=0;i<n/2;i++)
	{
		string s(m/2+1,'+'),s1(m/2,'-');
		s1+=s;
		v.push_back(s1);
	}
	return v;
}

signed main()
{
	int n,m;
	cin>>n>>m;
	if (min(n,m)<=2)
	{
		cout<<max(n,m)<<endl;
		char c='+';
		if (min(n,m)==n)
			c='-';
		for (int i=0;i<n;i++)
		{
			string s(m,c);
			cout<<s<<endl;
		}
		return 0;
	}
	if (n%2 && m%2)
	{
		cout<<n+m-2<<endl;
		vector<string> v=sol(n,m);
		for (auto i:v)
			cout<<i<<endl;
	}
	else if (n%2)
	{
		cout<<n+m-3<<endl;
		vector<string> v=sol(n,m-1);
		for (auto i:v)
			cout<<i<<'+'<<endl;
	}
	else if(m%2)
	{
		cout<<n+m-3<<endl;
		vector<string> v=sol(n-1,m);
		for (auto i:v)
			cout<<i<<endl;
		string s(m,'-');
		cout<<s<<endl;
	}
	else
	{
		cout<<n+m-4<<endl;
		vector<string> v=sol(n-1,m-1);
		for (auto i:v)
			cout<<i<<'+'<<endl;
		string s(m,'-');
		cout<<s<<endl;
	}
	
	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...