답안 #156017

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
156017 2019-10-02T15:28:42 Z ASDF123 Red-blue table (IZhO19_stones) C++14
0 / 100
47 ms 1316 KB
#include <bits/stdc++.h>
//#define int long long
#define fr first
#define sc second
#define all(s) s.begin(), s.end()
#define szof(s) (int)s.size()
using namespace std;

const int N = (int)1e5 + 5;
const int INF = 0x3f3f3f3f;
const int MOD = (int)1e9 + 9;

int tests = 1;

void solve() {
  int n, m, ans = 0;
  cin >> n >> m;
  char c[n + 2][m + 2];
  vector <int> col(m + 2, 0);
  vector <int> row(n + 2, 0);

  if (m > n) {
    for (int j = 1; j <= m; j++) {
      col[j] = n;
    }
    memset(c, '-', sizeof c);
    // want ++-
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= m; j++) {
        if (col[j] - 1 > n - (col[j] - 1)) {
          col[j]--;
          row[i]++;
          c[i][j] = '+';
        }
      }
    }
  }
  else {
    for (int i = 1; i <= n; i++) {
      row[i] = m;
    }
    memset(c, '+', sizeof c);
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= m; j++) {
        if (row[i] - 1 > n - (row[i] - 1)) {
          col[j]++;
          row[i]--;
          c[i][j] = '-';
        }
      }
    }
  }

    for (int i = 1; i <= n; i++) {
      if (row[i] > m - row[i]) {
        ans++;
      }
    }
    for (int j = 1; j <= m; j++) {
      if (col[j] > n - col[j]) {
        ans++;
      }
    }

//    cout << "stroki\n";
//    for (int i = 1; i <= n; i++) {
//      cout << row[i] << " ";
//    }
//    cout << "\nstolbsi\n";
//    for (int i = 1; i <= m; i++) {
//      cout << col[i] << " ";
//    }cout << endl;



    printf("%d\n", ans);
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      cout << c[i][j];
    }puts("");
  }

}

main() {
  cin >> tests;
  while (tests--) {
    solve();
  }
}

Compilation message

stones.cpp:85:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main() {
      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Incorrect 2 ms 256 KB Wrong answer in test 4 3: 4 < 5
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 376 KB Wrong answer in test 4 3: 4 < 5
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Incorrect 2 ms 256 KB Wrong answer in test 4 3: 4 < 5
# 결과 실행 시간 메모리 Grader output
1 Incorrect 47 ms 1316 KB Wrong answer in test 97 21: 97 < 116
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 46 ms 1272 KB Wrong answer in test 24 24: 35 < 44
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Incorrect 2 ms 256 KB Wrong answer in test 4 3: 4 < 5