#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |