# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
672430 | 2022-12-16T04:59:51 Z | Alihan_8 | Red-blue table (IZhO19_stones) | C++17 | 93 ms | 2340 KB |
#include <bits/stdc++.h> // include <ext/pb_ds/assoc_container.hpp> // include <ext/pb_ds/tree_policy.hpp> // using namespace __gnu_pbds; using namespace std; #define all(x) x.begin(), x.end() #define pb push_back // define ordered_set tree<int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update> #define mpr make_pair #define ln '\n' void IO(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);} #define int long long void solve(){ int n, m; cin >> n >> m; bool rev = false; if ( n > m ){ swap(n, m); rev = true; } vector <vector<char>> p(n, vector <char> (m, '-')); set <pair<int,int>> st; for ( int i = 0; i < m; i++ ) st.insert({0, i}); vector <int> cnt(m, (n+1)/2-1); for ( int i = 0; i < n; i++ ){ int Mx = m/2+1; while ( Mx-- and !st.empty() ){ auto it = st.begin(); st.erase(st.begin()); if ( !cnt[it->second] ) continue; cnt[it->second]--; p[i][it->second] = '+'; st.insert({it->first+1, it->second}); } } if ( rev ){ vector <vector<char>> P(m, vector <char> (n)); for ( int i = 0; i < n; i++ ){ for ( int j = m-1; j >= 0; j-- ){ if ( p[i][j] == '+' ) P[m-1-j][i] = '-'; else P[m-1-j][i] = '+'; } } swap(n, m); p = P; } int score = 0; for ( int i = 0; i < n; i++ ){ int l = 0, r = 0; for ( auto j: p[i] ){ if ( j == '+' ) l++; else r++; } score += l > r; } for ( int i = 0; i < m; i++ ){ int l = 0, r = 0; for ( int j = 0; j < n; j++ ){ if ( p[j][i] == '+' ) l++; else r++; } score += r > l; } cout << score << ln; for ( auto i: p ){ for ( auto j: i ) cout << j << ' '; cout << ln; } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int T; cin >> T; while ( T-- ){ solve(); } cout << '\n'; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 340 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 93 ms | 2328 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 84 ms | 2340 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |