# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
769980 | rainboy | Red-blue table (IZhO19_stones) | C11 | 11 ms | 2208 KiB |
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 <stdio.h>
#define N 1000
#define M 1000
int min(int a, int b) { return a < b ? a : b; }
int main() {
int t;
scanf("%d", &t);
while (t--) {
static char cc[N][M + 1];
int n, m, i, j, a, b, a_, b_;
scanf("%d%d", &n, &m);
a_ = b_ = 0;
for (a = 0; a <= n; a++) {
b = a <= (n - 1) / 2 ? m : min(a * ((m - 1) / 2) / (a - (n - 1) / 2), m);
if (a_ + b_ < a + b)
a_ = a, b_ = b;
}
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++)
if (j >= b_)
cc[i][j] = '+';
else if (i >= a_)
cc[i][j] = '-';
else
cc[i][j] = (j - (b_ - (m - 1) / 2) * i % b_ + b_) % b_ < b_ - (m - 1) / 2 ? '+' : '-';
cc[i][m] = 0;
}
printf("%d\n", a_ + b_);
for (i = 0; i < n; i++)
printf("%s\n", cc[i]);
}
return 0;
}
Compilation message (stderr)
# | 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... |