Submission #275977

#TimeUsernameProblemLanguageResultExecution timeMemory
275977brcodePaint By Numbers (IOI16_paint)C++14
10 / 100
446 ms484 KiB
#include <iostream> #include <bits/stdc++.h> #include "paint.h" using namespace std; vector<vector<int>> res; string solve_puzzle(string s,vector<int> v1){ int k = v1.size(); int len = s.length(); s = '#'+s; for(int i=0;i<(1<<len);i++){ vector<int> tmp; for(int j=0;j<len;j++){ if((1<<j)&i){ tmp.push_back(1); }else{ tmp.push_back(0); } } reverse(tmp.begin(),tmp.end()); int ind = 0; bool ok = true; for(int j=0;j<len;j++){ if(tmp[j] == 1){ int ind2 = j+1; while(ind2<len && tmp[ind2] == 1){ ind2++; } if(ind2-j!=v1[ind]){ ok = false; break; } ind++; j = ind2; } } if(ind!=k){ continue; } if(!ok){ continue; } res.push_back(tmp); } string ans = ""; for(int i=0;i<len;i++){ bool ones = false; bool zeroes = false; for(int j=0;j<res.size();j++){ if(res[j][i]==1){ ones = true; }else{ zeroes = true; } } if(ones == true && zeroes == true){ ans+='?'; }else if(ones == true){ ans+='X'; }else{ ans+='_'; } } return ans; }

Compilation message (stderr)

paint.cpp: In function 'std::string solve_puzzle(std::string, std::vector<int>)':
paint.cpp:56:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |         for(int j=0;j<res.size();j++){
      |                     ~^~~~~~~~~~~
#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...