Submission #114780

#TimeUsernameProblemLanguageResultExecution timeMemory
114780amiratouPaint By Numbers (IOI16_paint)C++14
32 / 100
3 ms512 KiB
#include "paint.h" #include <bits/stdc++.h> using namespace std; bool check_X(string s,vector<int> c,int idx){ for (int comp = 0; comp < c.size(); ++comp){ int last=0; bool found=1; for (int i = 0; i < c.size(); ++i) { if(last>=(s.size())){found=0;break;} if(i==comp){ if((idx-last)>=c[i])last=idx+2; else last=c[i]+last+1; continue; } if(last<=idx&&idx<=(last+c[i])){found=0;break;} if((s.size()-last)<c[i]){found=0;break;} last=last+c[i]+1; } if(found)return 1; } return 0; } bool check_W(string s,vector<int> c,int idx){ int last=0; bool found=1; for (int i = 0; i < c.size(); ++i) { //cout<<last<<"\n"; if(last>=(s.size())){found=0;break;} if(last<=idx){ if((idx-last)<c[i])last=idx+1,i--; else last=last+c[i]+1; continue; } if((s.size()-last)<c[i]){found=0;break;} last=last+c[i]+1; } /*cout<<"found:"<<found<<"\n"; cout<<"idx:"<<idx<<"--------------------\n";*/ return found; } std::string solve_puzzle(std::string s, std::vector<int> c) { string ph=""; for (int i = 0; i < s.size(); ++i) { bool c1=check_W(s,c,i),c2=check_X(s,c,i); if(c1&&c2)ph+="?"; else if(c1)ph+="_"; else if(c2)ph+="X"; } return ph; }

Compilation message (stderr)

paint.cpp: In function 'bool check_X(std::__cxx11::string, std::vector<int>, int)':
paint.cpp:7:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int comp = 0; comp < c.size(); ++comp){
                     ~~~~~^~~~~~~~~~
paint.cpp:10:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < c.size(); ++i)
                   ~~^~~~~~~~~~
paint.cpp:12:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(last>=(s.size())){found=0;break;}
       ~~~~^~~~~~~~~~~~
paint.cpp:19:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if((s.size()-last)<c[i]){found=0;break;}
paint.cpp: In function 'bool check_W(std::__cxx11::string, std::vector<int>, int)':
paint.cpp:29:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < c.size(); ++i)
                  ~~^~~~~~~~~~
paint.cpp:32:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(last>=(s.size())){found=0;break;}
      ~~~~^~~~~~~~~~~~
paint.cpp:38:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if((s.size()-last)<c[i]){found=0;break;}
paint.cpp: In function 'std::__cxx11::string solve_puzzle(std::__cxx11::string, std::vector<int>)':
paint.cpp:47:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < s.size(); ++i)
                  ~~^~~~~~~~~~
#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...