# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
275977 | brcode | Paint By Numbers (IOI16_paint) | C++14 | 446 ms | 484 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <bits/stdc++.h>
#include "paint.h"
using namespace std;
vector<vector<int>> res;
string solve_puzzle(string s,vector<int> v1){
int k = v1.size();
int len = s.length();
s = '#'+s;
for(int i=0;i<(1<<len);i++){
vector<int> tmp;
for(int j=0;j<len;j++){
if((1<<j)&i){
tmp.push_back(1);
}else{
tmp.push_back(0);
}
}
reverse(tmp.begin(),tmp.end());
int ind = 0;
bool ok = true;
for(int j=0;j<len;j++){
if(tmp[j] == 1){
int ind2 = j+1;
while(ind2<len && tmp[ind2] == 1){
ind2++;
}
if(ind2-j!=v1[ind]){
ok = false;
break;
}
ind++;
j = ind2;
}
}
if(ind!=k){
continue;
}
if(!ok){
continue;
}
res.push_back(tmp);
}
string ans = "";
for(int i=0;i<len;i++){
bool ones = false;
bool zeroes = false;
for(int j=0;j<res.size();j++){
if(res[j][i]==1){
ones = true;
}else{
zeroes = true;
}
}
if(ones == true && zeroes == true){
ans+='?';
}else if(ones == true){
ans+='X';
}else{
ans+='_';
}
}
return ans;
}
Compilation message (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... |