This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define io \
ios_base::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0);
typedef long long ll;
ll bp(ll n,ll m){
if(m == 0){
return 1;
}
if(m == 1){
return n;
}
if(m%2==0){
return bp(n*n,m/2);
}
return n*bp(n,m-1);
}
const int N = 1020, M = 33, inf = 1e9 + 99;
const ll inff = 1e12;
int main()
{
io;
int t;
cin >> t;
while(t--) {
int n , m;
cin >> n >> m;
vector<vector<char>> v(n , vector<char>(m));
char cc = '+';
if(n > m) {
cc = '-';
}
vector<vector<char>> tmp(n , vector<char>(m , cc));
int ans = max(n , m);
int fi[n]={0} , se[m] = {0};
for(int i=0;i<m;i++) {
v[0][i] = '-';
se[i] ++;
}
for(int i=1;i<n;i++) {
v[i][0] = '+';
fi[i] ++;
}
for(int i=1;i<n;i++) {
for(int j=1;j<m;j++) {
if((j + i)%2 == 0) {
v[i][j] = '+';
fi[i] ++;
}
else {
v[i][j] = '-';
se[j] ++;
}
}
}
int res = 0;
for(int i=0;i<n;i++) {
res += (fi[i] > n/2);
}
for(int i=0;i<m;i++) {
res += (se[i] > n/2);
}
if(res < ans) {
res = ans;
v = tmp;
}
cout << res << endl;
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) {
cout << v[i][j] << " ";
}
cout << endl;
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |