Submission #440918

#TimeUsernameProblemLanguageResultExecution timeMemory
440918leakedRed-blue table (IZhO19_stones)C++14
11 / 100
82 ms3316 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> //#pragma GCC opimize(-O3) //#pragma GCC opimize(Ofast) //#pragma GCC opimize(unroll-loops) //#pragma GCC target("avx,avx2,popcnt,sse,sse2,sse3,sse4,abm,tune=native") #define m_p make_pair #define vec vector #define all(x) x.begin(),x.end() #define pb push_back #define sz(x) (int)x.size() #define pw(x) (1LL<<x) #define f first #define s second using namespace std; using namespace __gnu_pbds; typedef long double ld; typedef pair<int,int> pii; pair<vec<vec<char>>,int>solve(int n,int m){ vec<vec<char>>a(n,vec<char>(m,'-')); int ans=n; vec<pii>st; for(int i=0;i<n;i++){ if((int)m/2)st.pb({m/2,i}); } for(int i=0;i<m;i++){ vec<pii>del; int ok=1; for(int j=0;j<(n+1)/2;j++){ if(!sz(st)){ ok=0; break; } pii w=st.back();st.pop_back(); a[w.s][i]='+'; w.f--; if(w.f) del.pb(w); } for(auto &z : del) st.pb(z); sort(all(st)); ans+=ok; } return {a,ans}; } map<char,int>op; signed main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int t; cin>>t; op['+']='-'; op['-']='+'; while(t--){ int n,m; cin>>n>>m; // vec<vec<char>>a(n,vec<char>(m,'+')); auto f=solve(n,m),s=solve(m,n); // cerr<<f.s<<' '<<s.s<<endl; cout<<max(f.s,s.s)<<'\n'; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(f.s>s.s) cout<<(char)op[f.f[i][j]]; else cout<<s.f[j][i]; } cout<<'\n'; } } return 0; } /* */
#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...