Submission #672429

#TimeUsernameProblemLanguageResultExecution timeMemory
672429Alihan_8Red-blue table (IZhO19_stones)C++17
0 / 100
49 ms2380 KiB
#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, '-')); vector <int> cnt(m, (n-1)/2); for ( int i = 0; i < n; i++ ){ int Mx = m/2+1; for ( int j = 0; j < m; j++ ){ if ( cnt[j] and Mx ){ cnt[j]--; Mx--; p[i][j] = '+'; } } } 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] = '+'; } } 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 (stderr)

stones.cpp: In function 'void IO(std::string)':
stones.cpp:11:29: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 | void IO(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);}
      |                      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stones.cpp:11:70: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 | void IO(string name){freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout);}
      |                                                               ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...