# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
168887 | abil | Red-blue table (IZhO19_stones) | C++14 | 124 ms | 4084 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 <bits/stdc++.h>
#define fr first
#define sc second
#define pb push_back
#define mk make_pair
#define all(s) s.begin(),s.end()
//#define int long long
using namespace std;
const int N = (1e3 + 12);
const int mod = (1e9 + 7);
const int INF = (0x3f3f3f3f);
int a[N][N], b[N];
main()
{
int test, n, m;
scanf("%d", &test);
while(test--){
scanf("%d%d", &n, &m);
if(n >= m){
int ans = n;
int midn = n / 2 + 1, midm = m / 2 + 1;
vector<pair<int,int > > vec;
for(int i = 1;i <= m; i++){
for(int j = 1;j <= n; j++){
vec.pb({b[j], j});
}
sort(all(vec));
if(vec[midm - 1].fr < n - midn){
ans++;
for(int j = 0;j < midm; j++){
a[vec[j].sc][i] = 1;
b[vec[j].sc]++;
}
vec.clear();
}
else{
break;
}
}
cout << ans << endl;
for(int i = 1;i <= n; i++){
for(int j = 1;j <= m; j++){
if(a[i][j]){
printf("-");
}
else{
printf("+");
}
}
cout << endl;
}
}
else{
int ans = m;
int midn = n / 2 + 1, midm = m / 2 + 1;
vector<pair<int,int > > vec;
for(int i = 1;i <= n; i++){
for(int j = 1;j <= m; j++){
vec.pb({b[j], j});
}
sort(all(vec));
if(vec[midn - 1].fr < m - midm){
ans++;
for(int j = 0;j < midn; j++){
a[i][vec[j].sc] = 1;
b[vec[j].sc]++;
}
vec.clear();
}
else{
break;
}
}
cout << ans << endl;
for(int i = 1;i <= n; i++){
for(int j = 1;j <= m; j++){
if(a[i][j]){
printf("+");
}
else{
printf("-");
}
}
cout << endl;
}
}
for(int i = 1;i <= n; i++){
for(int j = 1;j <= m; j++){
a[i][j] = 0;
}
}
for(int i = 1;i <= max(n, m); i++){
b[i] = 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... |