Submission #381982

#TimeUsernameProblemLanguageResultExecution timeMemory
381982dorijanlendvajRed-blue table (IZhO19_stones)C++14
100 / 100
16 ms11756 KiB
#include <bits/stdc++.h> #define x first #define y second #define pii pair<int,int> using ll=long long; #define pb push_back #define eb emplace_back #define vi vector<int> #define vl vector<ll> #define all(a) begin(a),end(a) using namespace std; const int N=300010,MOD=1e9+7; const char en='\n'; const ll LLINF=1ll<<60; int t,n,m; string re[N]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>t; while (t--) { cin>>n>>m; int ma=-1,kak=-1; for (int ms=0;ms<=n/2;++ms) { int re=min(m,((n-ms)*((m-1)/2))/(n/2+1-ms))+n-ms; if (re>ma) { ma=re; kak=ms; } } if (m+n-(n/2+1)>ma) { ma=m+n-(n/2+1); kak=n/2+1; } cout<<ma<<en; int ms=kak; for (int i=0;i<ms;++i) { re[i]=string(m,'-'); } for (int i=ms;i<n;++i) re[i]=string(m,'+'); int pc=(m-1)/2; if (ms!=n/2+1) for (int k=0;k<pc*(n-ms);++k) { int i=k%(n-ms)+ms,j=k/(n/2+1-ms); if (j>=m) break; re[i][j]='-'; } for (int i=0;i<n;++i) cout<<re[i]<<en; } }
#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...