#include "paint.h"
#include <bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
using namespace std;
string solve_puzzle(string s, vector <int> c){
s+="_";
int k=c.size();
int n=s.length();
vector < vector <pair <vector <int>, pair <int, int> > > > DP;
DP.resize(n);
if(s[0]!='_'){
DP[0].pb({{1}, {1, 0}});
}
if(s[0]!='X'){
DP[0].pb({{0}, {0, 0}});
}
for(int i=1; i<n; ++i){
for(int j=0; j<DP[i-1].size(); ++j){
if(DP[i-1][j].se.se==k){
if(s[i]!='X'){
DP[i].pb(DP[i-1][j]);
DP[i][DP[i].size()-1].fi.pb(0);
}
}
else if(DP[i-1][j].se.fi==c[DP[i-1][j].se.se]){
if(s[i]!='X'){
DP[i].pb({DP[i-1][j].fi, {0, DP[i-1][j].se.se+1}});
DP[i][DP[i].size()-1].fi.pb(0);
}
}
else if(DP[i-1][j].se.fi==0){
if(s[i]!='_'){
DP[i].pb({DP[i-1][j].fi, {1, DP[i-1][j].se.se}});
DP[i][DP[i].size()-1].fi.pb(1);
}
if(s[i]!='X'){
DP[i].pb(DP[i-1][j]);
DP[i][DP[i].size()-1].fi.pb(0);
}
}
else{
if(s[i]!='_'){
DP[i].pb(DP[i-1][j]);
DP[i][DP[i].size()-1].fi.pb(1);
++DP[i][DP[i].size()-1].se.fi;
}
}
}
DP[i-1].resize(0);
}
string fr="";
vector <vector <int> > TDP;
for(int i=0; i<DP[n-1].size(); ++i){
if(DP[n-1][i].se.se==k && DP[n-1][i].se.fi==0){
TDP.pb(DP[n-1][i].fi);
}
}
if(TDP.size()==0){
return fr;
}
for(int j=0; j<n-1; ++j){
int as=TDP[0][j];
for(int i=0; i<TDP.size(); ++i){
if(as!=TDP[i][j]){
fr+='?';
break;
}
if(i==TDP.size()-1){
if(TDP[i][j]==0){
fr+='_';
break;
}
fr+='X';
break;
}
}
}
return fr;
}
컴파일 시 표준 에러 (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... |