Submission #1273814

#TimeUsernameProblemLanguageResultExecution timeMemory
1273814PetrixPaint By Numbers (IOI16_paint)C++20
Compilation error
0 ms0 KiB
#include <iostream>
#include <vector>
using namespace std;
#include "paint.h"

int sp[10001];
int mars[10001];
int rasp[10001];

string solve1(string s,vector<int> c){
    int i,j,stg,aux;
    string string_rasp;
    for(i=0;i<c.size();i++){
        sp[i+1]+=sp[i];
        sp[i+1]+=c[i]+1;
    }
    for(i=0;i<s.size();i++){
        for(j=0;j<=c.size();j++){
            stg=1;
            if(j){
                if(i<sp[j]-1) stg=0;
            }
            if(c.size()-j){
                if(j==0) aux=sp[c.size()-1];
                else aux=sp[c.size()-1]-sp[j-1];
                if(s.size()-1-i<aux) stg=0;
            }
            rasp[i]+=2*stg;

        }
    }
    for(i=0;i<s.size();i++){
        for(j=0;j<c.size();j++){
            if(i+c[j]-1>=s.size()) continue;
            stg=1;
            if(j-1>=0){
                if(i<sp[j]-1) stg=0;
            }
            if(j+1<c.size()){
                if(s.size()-i-c[j]<sp[c.size()-1]-sp[j]) stg=0;
            }
            if(stg){
                mars[i]+=1;
                mars[i+c[j]]-=1;
            }

        }
    }
    for(i=0;i<s.size();i++){
        if(i) mars[i]+=mars[i-1];
        rasp[i]+=min(mars[i],1);
        if(rasp[i]==3)  string_rasp+='?';
        else if(rasp[i]==2) string_rasp+='_';
        else string_rasp+='X';
    }
    return string_rasp;
}


string solve_puzozle(string s,vector<int> c){
    return solve1(s,c);
}

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
      |         ^~~~
/usr/bin/ld: /tmp/ccJtp4kk.o: in function `main':
grader.cpp:(.text.startup+0x20b): undefined reference to `solve_puzzle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status