Submission #1246663

#TimeUsernameProblemLanguageResultExecution timeMemory
1246663Saul0906Paint By Numbers (IOI16_paint)C++20
0 / 100
0 ms320 KiB
#include "paint.h" #include <bits/stdc++.h> #include <cstdlib> #define pii pair<int, int> #define rep(a,b,c) for(int a=b; a<c; a++) #define fi first #define se second using namespace std; string solve_puzzle(string s, vector<int> c) { int n=s.size(), k=c.size(), lst=0; pii dp[n+1][k+1]; rep(i,0,n+1) rep(j,0,k+1) dp[i][j]={-1,-1}; dp[0][0]={0,0}; rep(i,1,n+1){ if(s[i-1]=='_') lst=i; rep(j,0,k+1){ if((s[i-1]=='_' || s[i-1]=='.') && dp[i-1][j].fi!=-1) dp[i][j]={i-1,j}; if(j && i>=c[j-1] && lst<=i-c[j-1] && s[i-c[j-1]]!='X' && dp[i-c[j-1]][j-1].fi!=-1) dp[i][j]={i-c[j-1],j-1}; } } int x=n, y=k; while(x){ if(dp[x][y].se==y){ rep(i,dp[x][y].fi-1,x) s[i]='_'; }else{ rep(i,dp[x][y].fi-1,x) s[i]='X'; } pii aux=dp[x][y]; x=aux.fi; y=aux.se; } return s; }

Compilation message (stderr)

paint.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
paint_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...