# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1167532 | SmuggingSpun | Paint By Numbers (IOI16_paint) | C++20 | 2095 ms | 424 KiB |
#include<bits/stdc++.h>
#include "paint.h"
using namespace std;
string solve_puzzle(string s, vector<int>c) {
for(char& c : s){
if(c != '.'){
c = (c == 'X' ? '1' : '0');
}
}
int n = s.size();
if(n <= 20){
vector<int>ans(n, 0);
for(int mask = (1 << n) - 1; mask > -1; mask--){
string cur = "";
vector<int>C;
bool flag = true;
for(int i = 0; i < n; i++){
cur += char((mask >> i & 1) + 48);
if(s[i] != '.' && cur.back() != s[i]){
flag = false;
break;
}
}
if(flag){
cur += '0';
for(int i = 0, cnt = 0; i <= n; i++){
if(cur[i] == '0' && cnt > 0){
C.emplace_back(cnt);
cnt = 0;
}
else if(cur[i] == '1'){
cnt++;
}
}
if(C == c){
for(int i = 0; i < n; i++){
ans[i] |= 1 << (cur[i] - 48);
}
}
}
}
string ret = "";
for(int i = 0; i < n; i++){
ret += (ans[i] == 1 ? '_' : (ans[i] == 2 ? 'X' : '?'));
}
return ret;
}
}
컴파일 시 표준 에러 (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... |