제출 #1246663

#제출 시각아이디문제언어결과실행 시간메모리
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;
}

컴파일 시 표준 에러 (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...