Submission #1266817

#TimeUsernameProblemLanguageResultExecution timeMemory
1266817vtnooPaint By Numbers (IOI16_paint)C++20
10 / 100
98 ms424 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAXN=100;
int on[MAXN], off[MAXN];

std::string solve_puzzle(std::string s, std::vector<int> c){
    int n=s.size(), m=c.size(), tot=0;
    for(int msk=0;msk<(1<<n);msk++){
        vector<int> v(20, 0);
        for(int i=0;i<n;i++){
            if((1<<i)&msk){
                v[i]=1;
            }  
        }
        bool ok=true;
        int j=0, i=0;
        while(i<n){
            int cnt=0;
            bool entro=false;
            while(i<n&&v[i]){
                entro=true;
                i++;
                cnt++;
            }
            if(cnt!=0&&j==m){
                ok=false;
                break;
            }
            else if(j<m&&cnt==c[j]){
                j++;
            }else if(entro){
                ok=false;
                break;
            }
            i++;
        }
        if(j!=(int)c.size()){
            ok=false;
        }
        if(ok){
            tot++;
            for(int i=0;i<n;i++){
                if(v[i])on[i]++;
                else off[i]++;
            }
        }
    }
    string ret="";
    for(int i=0;i<n;i++){
        if(on[i]==tot){
            ret+='X';
        }else if(off[i]==tot){
            ret+='_';
        }else ret+='?';
    }
    return ret;
}

Compilation message (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...