제출 #119970

#제출 시각아이디문제언어결과실행 시간메모리
119970LawlietPaint By Numbers (IOI16_paint)C++14
10 / 100
238 ms444 KiB
#include <bits/stdc++.h> #include "paint.h" #define MAX 110 using namespace std; int N, K; string ans; vector<int> possibilities; int bit(int v, int k) { if(v & (1 << k)) return 1; return 0; } std::string solve_puzzle(string s, std::vector<int> c) { N = s.size(); K = c.size(); ans.resize(N); for(int g = 0 ; g < (1 << N) ; g++) { int curBit = 0; vector<int> groups; //printf("--------------------------------------"); //for(int h = N - 1 ; h >= 0 ; h--) //printf("%d ",bit(g , h)); //printf("\n"); while(curBit < N) { while(curBit < N && bit(g , curBit) == 0) curBit++; //printf("SAI %d\n",curBit); if(curBit == N) break; int cnt = 0; while(curBit < N && bit(g , curBit) == 1) curBit++, cnt++; //printf("cnt = %d\n",cnt); groups.push_back(cnt); } if(groups == c) possibilities.push_back(g); } int ansOR = 0; int ansAND = (1 << N) - 1; for(int g = 0 ; g < possibilities.size() ; g++) { //for(int h = N - 1 ; h >= 0 ; h--) //printf("%d ",bit(possibilities[g] , h)); //printf("\n"); ansOR = ansOR | possibilities[g]; ansAND = ansAND & possibilities[g]; } for(int g = 0 ; g < N ; g++) { if(bit(ansOR , g) == 1 && bit(ansAND , g) == 0) ans[g] = '?'; else if(bit(ansOR , g) == 1) ans[g] = 'X'; else ans[g] = '_'; } return ans; } /*int main() { string l; int cc; int n1; vector<int> ll; cin >> l; cin >> cc; for(int g = 0 ; g < cc ; g++) { scanf("%d",&n1); ll.push_back(n1); } printf("%s\n",solve_puzzle(l , ll).c_str()); }*/

컴파일 시 표준 에러 (stderr) 메시지

paint.cpp: In function 'std::__cxx11::string solve_puzzle(std::__cxx11::string, std::vector<int>)':
paint.cpp:65:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int g = 0 ; g < possibilities.size() ; g++)
                  ~~^~~~~~~~~~~~~~~~~~~~~~
#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...