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;
const int MAX_N = 1000;
char mat[MAX_N][MAX_N];
int sumL[MAX_N], sumC[MAX_N];
int main() {
int t;
cin >> t;
for ( ; t > 0; t-- ) {
int n, m;
cin >> n >> m;
for ( int l = 0; l < n; l++ ) {
for ( int c = 0; c < m; c++ ) {
if ( l == n - 1 && m != 1 )
mat[l][c] = '-';
else {
if ( l < n / 2 ) {
if ( c <= m / 2 )
mat[l][c] = '+';
else
mat[l][c] = '-';
} else {
if ( c < m / 2 )
mat[l][c] = '-';
else
mat[l][c] = '+';
}
}
}
}
for ( int l = 0; l < n; l++ )
sumL[l] = 0;
for ( int c = 0; c < m; c++ )
sumC[c] = 0;
for ( int l = 0; l < n; l++ ) {
for ( int c = 0; c < m; c++ ) {
sumL[l] += (mat[l][c] == '+' ? 1 : -1);
sumC[c] += (mat[l][c] == '+' ? -1 : +1);
}
}
int r = 0;
for ( int l = 0; l < n; l++ )
r += (sumL[l] > 0);
for ( int c = 0; c < m; c++ )
r += (sumC[c] > 0);
cout << r << "\n";
//cout << n + m - 2 << "\n";
for ( int l = 0; l < n; l++ ) {
for ( int c = 0; c < m; c++ )
cout << mat[l][c];
cout << "\n";
}
}
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... |