Submission #1156513

#TimeUsernameProblemLanguageResultExecution timeMemory
1156513KaleemRazaSyedRed-blue table (IZhO19_stones)C++20
0 / 100
38 ms1352 KiB
#include<bits/stdc++.h>

using namespace std;

void solve()
{
  int n, m;
  cin >> n >> m;
  int a, b;
  int apb = 0;
  for(int A = 0; A <= n; A++)
    for(int B = 0; B <= m; B++)
      if(A + B <= 2 * n * m - A * (m + 1 - m % 2) - B * (n + 1 - n % 2))
	{
	  if(A + B > apb)
	  {
	    a = A, b = B;
	    apb = A + B;
	  }
	}
	

  deque<char> d;

  for(int i = 0; i < m/2+1; i ++)
    d.push_back('+');
  
  while(d.size() < m) d.push_back('-');

  int x = m;
  for(int i = 2; i <= m; i++)
    if(__gcd(i, n) == 1)
      x = i;
  
  cout << apb << endl;
  for(int i = 0; i < a; i ++)
    {
      for(char c : d)
	cout << c;
      cout << endl;

      for(int j = 0; j < x; j++)
	d.push_back(d.front()), d.pop_front();
    }
  
  for(int i = a; i < n; i ++)
    {
      for(int j = 0; j < m; j++)
	cout << '-';
      cout << endl;
    }
}

int main()
{
  int t;
  cin >> t;
  while(t--)
    solve();
  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...