제출 #1266839

#제출 시각아이디문제언어결과실행 시간메모리
1266839vtnooPaint By Numbers (IOI16_paint)C++20
7 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN=100; int on[MAXN], suff[MAXN]; int n,m,tot; vector<int> b; void dfs(const string &s, const vector<int> &c, int j, int start){ if(j==m){ int jj=0; tot++; for(auto pos:b){ for(int i=0;i<c[jj];i++){ on[pos+i]++; } jj++; } return; } if(start>=n)return; if(n-start<suff[j]+(m-j-1)*2)return; for(int i=start;i<n;i++){ if(i+c[j]-1<n){ b.push_back(i); dfs(s,c,j+1,i+c[j]+1); b.pop_back(); } } } std::string solve_puzzle(std::string s, std::vector<int> c){ n=s.size(), m=c.size(), tot=0; suff[m-1]=c.back(); for(int i=m-2;i>=0;i--){ suff[i]=suff[i+1]+c[i]; } dfs(s, c, 0, 0); string ret=""; for(int i=0;i<n;i++){ if(on[i]==tot){ ret+='X'; }else if(on[i]==0){ ret+='_'; }else ret+='?'; } return ret; }

컴파일 시 표준 에러 (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...