이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "paint.h"
#include <vector>
#include <iostream>
#include <utility>
#include <cstdlib>
using namespace std;
#define v vector
#define pii pair<int,int>
#define fi first
#define se second
std::string solve_puzzle(std::string s, std::vector<int> c) {
int n=s.size();
int k=c.size();
string out;
//assume all .
for(int i=0;i<n;i++){
bool isWhite=false;
bool isBlack=false;
int l=0;
int cInd=0;
while(l<n){
if(l>i){
l+=c[cInd];
cInd++;
if(cInd==k && l<=n) {
isWhite=true;
break;
}
l++;
}
else if(i-l>=c[cInd]){
l+=c[cInd];
cInd++;
if(cInd==k) {
isWhite=true;
break;
}
l++;
}
else{
l=i+1;
}
}
l=0;
cInd=0;
while(l<n){
if(l>i){
l+=c[cInd];
cInd++;
if(cInd==k && l<=n) {
isBlack=true;
break;
}
l++;
}
else if(i-l>c[cInd] && cInd!=k-1){
l+=c[cInd];
cInd++;
l++;
}
else{
l=max(l,i-c[cInd]+1);
l+=c[cInd];
cInd++;
if(cInd==k && l<=n) {
isBlack=true;
break;
}
l++;
}
}
if(isWhite&&isBlack) out.push_back('?');
else if(isWhite) out.push_back('_');
else out.push_back('X');
}
return out;
}
# | 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... |