제출 #167843

#제출 시각아이디문제언어결과실행 시간메모리
167843munhorgilRed-blue table (IZhO19_stones)C++14
38 / 100
93 ms1332 KiB
#include<bits/stdc++.h>
 
using namespace std;
 
int main()
{
	int t , i , j , m , n , ans , a , b;
	
	cin >> t;
	
	while(t > 0)
	{
		cin >> n >> m;
		
		if(n > 4 && m > 4)
		{
			if(n % 2 == 0) a = n - 2;
				else a = n - 1;	
			if(m % 2 == 0) b = m - 2;
				else b = m - 1;
			
			ans = a + b;
			cout << ans << endl;
			
			for(j = 0 ; j < a / 2 ; j++)
			{
				for(i = 0 ; i < b / 2 ; i++)
				{
					cout << "+";
				}
				for(i = 0 ; i < b / 2 ; i++)
				{
					cout << "-";
				}
				for(i = 0 ; i < (m - b) ; i++)
				{
					cout << "+";
				}
				cout << endl;
			}
			for(j = 0 ; j < a / 2 ; j++)
			{
				for(i = 0 ; i < b / 2 ; i++)
				{
					cout << "-";
				}
				for(i = 0 ; i < b / 2 ; i++)
				{
					cout << "+";
				}
				for(i = 0 ; i < (m - b) ; i++)
				{
					cout << "+";
				}
				cout << endl;
			}
			for(j = 0 ; j < (n - a) ; j++)
			{
				for(i = 0 ; i < m ; i++)
				{
					cout << "-";
				}
				cout << endl;
			}
		}
		else
		{
			ans = max(n , m) + (min(n , m) - 1) / 2;
			
			cout << ans << endl;
			
			if(n > m)
			{
				for(i = 0 ; i < n ; i++)
				{
					for(j = 0 ; j < m - ((m - 1) / 2) ; j++)
					{
						cout << '+';
					}
					for(j = 0 ; j < (m - 1) / 2 ; j++)
					{
						cout << '-';
					}
					cout << endl;
				}
			}
			else
			{
				for(i = 0 ; i < n - ((n - 1) / 2) ; i++)
				{
					for(j = 0 ; j < m ; j++)
					{
						cout << '-';
					}
					cout << endl;
				}
				for(i = 0 ; i < (n - 1) / 2 ; i++)
				{
					for(j = 0 ; j < m ; j++)
					{
						cout << '+';
					}
					cout << endl;
				}
			}
		}
		
		t--;
	}
}
#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...