Submission #189078

#TimeUsernameProblemLanguageResultExecution timeMemory
189078PedroBigManPaint By Numbers (IOI16_paint)C++14
59 / 100
8 ms504 KiB
#include <iostream> #include <vector> #include <cmath> #include <algorithm> #include <string> #include <map> #include <set> #include <queue> #include <deque> #include <cstdlib> #include "paint.h" using namespace std; typedef long long int ll; typedef unsigned long long int ull; typedef long double ld; #define REP(i,a,b) for(ll i=a; i<b; i++) #define pb push_back #define mp make_pair #define pl pair<ll,ll> #define ff first #define ss second #define INF 100000000000000000LL ll insig; #define In(vecBRO, LENBRO) REP(IBRO,0,LENBRO) {cin>>insig; vecBRO.pb(insig);} void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;} string solve_puzzle(string s, vector<int> c) { ll N=s.size(); ll K=c.size(); string lans=""; string rans=""; REP(i,0,N) {lans+='.'; rans+='.';} ll ind=0; vector<vector<bool> > emp; vector<bool> xxx; REP(i,0,N) {xxx.pb(true);} REP(i,0,N) {emp.pb(xxx);} REP(i,0,N) { bool cur=true; REP(j,i,N) { if(s[j]!='.') {cur=false;} emp[i][j]=cur; } } vector<pl> ext; REP(i,0,K) {ext.pb(mp(0LL,0LL));} REP(i,0,K) { while(!emp[ind][ind+c[i]-1]) { ind++; } ext[i].ff=ind; REP(j,0,c[i]) { lans[ind]='X'; ind++; } ind++; } ind=N-1; for(ll i=K-1;i>=0;i--) { while(!emp[ind-c[i]+1][ind]) { ind--; } REP(j,0,c[i]) { rans[ind]='X'; ind--; } ext[i].ss=ind+1; ind--; } string ans=""; REP(i,0,N) {ans+="_";} ind=0; REP(i,0,K) { ll a=ext[i].ff; ll b=ext[i].ss; REP(j,a,b+1) { if(emp[j][j+c[i]-1]) { REP(z,j,j+c[i]) {if(ans[z]=='_') {ans[z]='?';}} } } if(emp[a][b]) { REP(j,b,a+c[i]) {ans[j]='X';} } } return ans; }

Compilation message (stderr)

paint.cpp: In function 'void Out(std::vector<long long int>)':
paint.cpp:16:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define REP(i,a,b) for(ll i=a; i<b; i++)
paint.cpp:25:29:
 void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
                             ~~~~~~~~~~~~
paint.cpp:25:25: note: in expansion of macro 'REP'
 void Out(vector<ll> x) {REP(i,0,x.size()) {cout<<x[i]<<" ";} cout<<endl;}
                         ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...