Submission #293712

#TimeUsernameProblemLanguageResultExecution timeMemory
293712Aldas25Paint By Numbers (IOI16_paint)C++14
32 / 100
1 ms384 KiB
#include "paint.h" #include <bits/stdc++.h> #include <cstdlib> using namespace std; #define FOR(i, a, b) for (int i = (a); i <= (b); i++) #define REP(n) FOR(O, 1, (n)) #define f first #define s second #define pb push_back typedef vector<int> vi; typedef pair<int, int> pii; typedef vector<pii> vii; int fr[110], to[110]; std::string solve_puzzle(std::string s, std::vector<int> c) { string ret = s; int n = (int)s.size(); int k = (int)c.size(); int sum = 0; FOR(i, 0, k-1) sum += c[i]; if (sum + k-1 == n) { int cur = 0; FOR(i, 0, k-1) { REP(c[i]) { ret[cur] = 'X'; cur++; } if (i < k-1) ret[cur] = '_'; cur++; } return ret; } int cur = -1; FOR(i, 0, k-1) { cur += c[i]; to[i] = cur; cur++; } cur = n; for (int i = k-1; i >= 0; i--) { cur -= c[i]; fr[i] = cur; cur--; } FOR(i, 0, n-1) ret[i] = '?'; FOR(i, 0, k-1) FOR(j, fr[i], to[i]) ret[j] = 'X'; // FOR(i, 0, k-1) cout << " i = " << i << " fr = " << fr[i] << " to = " << to[i] << endl; return ret; }
#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...