Submission #435804

#TimeUsernameProblemLanguageResultExecution timeMemory
435804zxcvbnmPaint By Numbers (IOI16_paint)C++14
7 / 100
2081 ms332 KiB
#include "paint.h" #include <bits/stdc++.h> using namespace std; using ll = long long; int n; set<string> s; vector<int> k; void go(string str, int idx) { if (idx == (int) k.size()) { string add; for(int i = 0; i < n; i++) { if ((int) str.length() + (int) add.length() == n) { s.insert(str+add); return; } add += '_'; } return; } string add; if (idx != 0) { add += '_'; } for(int i = 0; i < n; i++) { go(str+add+string(k[idx], 'X'), idx+1); add += '_'; } } std::string solve_puzzle(std::string st, std::vector<int> c) { ios_base::sync_with_stdio(false); cin.tie(nullptr); n = st.length(); k = c; go("", 0); set<char> poss[n]; for(auto i : s) { for(int j = 0; j < n; j++) { poss[j].insert(i[j]); } } string ans; for(auto i : poss) { if ((int) i.size() > 1) { ans += "?"; } else { for(auto j : i) { ans += j; } } } return ans; }
#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...