# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
284761 | 2020-08-28T02:31:22 Z | dantoh000 | Red-blue table (IZhO19_stones) | C++14 | 61 ms | 5032 KB |
#include <bits/stdc++.h> using namespace std; int ans[1005][1005]; int rct[1005]; int cct[1005]; int main(){ int tc; scanf("%d",&tc); while (tc--){ int n,m; scanf("%d%d",&n,&m); int flag = 0; int flag2 = 0; int flag3 = 0; if (n < m){ flag = 1; swap(n,m); } if (n%2 == 0) { flag2 = 1; n--; } if (m%2 == 0){ flag3 = 1; m--; } for (int i = 0; i < n; i++) rct[i] = 0; for (int j = 0; j < m; j++) cct[j] = 0; for (int i = 0; i < n; i++){ int num = (m-1)/2; for (int j = 0; j < m; j++){ if ((i == n-1 && (m-1)/2 >= 1) || cct[j]+1 < n-cct[j]-1 && num){ cct[j]++; num--; rct[i]++; ans[i][j] = 1; } else ans[i][j] = 0; } } int sum = 0; if (flag2){ n++; for (int i = 0; i < m; i++){ if (m > 2){ ans[n-1][i] = 1; cct[i]++; rct[n-1]++; } } } if (flag3){ m++; for (int i = 0; i < n; i++){ if (m > 1){ ans[i][m-1] = 0; } else{ ans[i][m-1] = 1; cct[m-1]++; rct[i]++; } } } for (int i = 0; i < n; i++){ if (rct[i] < m-rct[i]) { //printf("row %d : %d / %d\n",i,rct[i],m); sum++; } } for (int i = 0; i < m; i++){ if (cct[i] > n-cct[i]) { //printf("col %d : %d / %d\n",i,cct[i],n); sum++; } } printf("%d\n",sum); if (flag){ for (int i = 0; i < m; i++){ for (int j = 0; j < n; j++){ printf("%c",ans[j][i]?'+':'-'); } printf("\n"); } } else{ for (int i = 0; i < n; i++){ for (int j = 0; j < m; j++){ printf("%c",ans[i][j]?'-':'+'); } printf("\n"); } } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 384 KB | Output is correct |
2 | Incorrect | 0 ms | 384 KB | Wrong answer in test 4 4: 4 < 5 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 512 KB | Wrong answer in test 2 1: 1 < 2 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 384 KB | Output is correct |
2 | Incorrect | 0 ms | 384 KB | Wrong answer in test 4 4: 4 < 5 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 61 ms | 1752 KB | Output is correct |
2 | Correct | 54 ms | 4728 KB | Output is correct |
3 | Correct | 58 ms | 5032 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 60 ms | 1912 KB | in the table A+B is not equal to 89 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 384 KB | Output is correct |
2 | Incorrect | 0 ms | 384 KB | Wrong answer in test 4 4: 4 < 5 |