# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
889605 | Ghulam_Junaid | Paint By Numbers (IOI16_paint) | C++17 | 1 ms | 440 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
// #include "grader.cpp"
using namespace std;
// const int N = 2e5 + 10;
// const int K = 105;
// int pref[N], suff[N];
// int need_pref[K], need_suff[K];
string solve_puzzle(string s, vector<int> c){
int n = s.size();
int k = c.size();
string ans = s;
int sz = c[0];
for (int i=0; i<n; i++)
ans[i] = '?';
int l = n - sz;
int r = sz - 1;
for (int i=l; i<=r; i++)
ans[i] = 'X';
return ans;
}
// string solve_puzzle1(string s, vector<int> c){
// int n = s.size();
// int k = c.size();
// string ans = s;
// need_pref[0] = -2;
// for (int i=0; i<k; i++){
// int blacks = c[i];
// int available = 0;
// for (int j=need_pref[i] + 2; j<n; j++){
// available += (s[j] == '.');
// if (available == blacks){
// need_pref[i + 1] = j;
// break;
// }
// if (s[j] == '_')
// available = 0;
// }
// }
// for (int i=0; i<n; i++){
// for (int j=0; j<=k; j++){
// if (need_pref[j] > i)
// break;
// pref[i] = j;
// }
// }
// need_suff[k] = n + 1;
// for (int i=k - 1; i >= 0; i--){
// int blacks = c[i];
// int available = 0;
// for (int j=need_suff[i + 1] - 2; j >= 0; j--){
// available += (s[j] == '.');
// if (available == blacks){
// need_suff[i] = j;
// break;
// }
// if (s[j] == '_')
// available = 0;
// }
// }
// for (int i=n-1; i>=0; i--){
// for (int j=k; j>=0; j--){
// if (need_suff[j] < i)
// break;
// suff[i] = k - j;
// }
// }
// for (int i=0; i<n; i++){
// if (s[i] != '.') continue;
// // is this character always black or never black.
// // If I make it white, is the puzzle still solvable?
// bool can_be_white = 0;
// int put_in_pref = 0;
// for (int j=0; j<=k; j++){
// if (need_pref[j] >= i)
// break;
// put_in_pref = j;
// }
// can_be_white = (need_suff[put_in_pref] > i);
// if (!can_be_white){
// ans[i] = 'X';
// continue;
// }
// bool can_be_black = 0;
// int l = i;
// int r = i;
// for (int j=i+1; j<n; j++){
// if (s[j] != '.')
// break;
// r++;
// }
// for (int j=i-1; j>=0; j--){
// if (s[j] != '.')
// break;
// l--;
// }
// for (int j=0; j<k; j++){
// for (int st = l; st <= i; st++){
// int en = st + c[j] - 1;
// if (en < i)
// continue;
// if (en > r)
// continue;
// if (need_pref[j] < (st - 1) && need_suff[j + 1] > (en + 1))
// can_be_black = 1;
// }
// }
// if (can_be_black)
// ans[i] = '?';
// else
// ans[i] = '_';
// }
// return ans;
// }
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |