Submission #317161

#TimeUsernameProblemLanguageResultExecution timeMemory
317161daniel920712Hidden Sequence (info1cup18_hidden)C++14
20 / 100
5 ms256 KiB
#include<bits/stdc++.h> #include "grader.h" using namespace std; vector < pair < vector < int > , int > > all; vector < int > temp; vector < int > tt; queue < pair < vector < int > , int > > BFS; vector < int > ans,ans2,ans3; vector < int > findSequence (int N) { int i,j,ok=0,now=0,x1=0,y1=0,x; if(N<=10) { for(i=0;i<(1<<(N/2+1));i++) { temp.clear(); for(j=0;j<(N/2+1);j++) { if(i&(1<<j)) temp.push_back(1); else temp.push_back(0); } all.push_back(make_pair(temp,isSubsequence(temp))); } for(i=0;i<(1<<N);i++) { temp.clear(); for(j=0;j<N;j++) { if(i&(1<<j)) temp.push_back(1); else temp.push_back(0); } ok=1; for(auto j:all) { now=0; for(auto k:temp) { if(now<N/2+1&&k==j.first[now]) now++; } if(now==N/2+1&&j.second==0) ok=0; if(now!=N/2+1&&j.second==1) ok=0; } if(ok) return temp; } temp.clear(); return temp; } else { x=N; for(i=0;i<N;i++) { temp.push_back(0); if(!isSubsequence(temp)) { x=i; break; } } while(x1<x&&y1<N-x&&ans.size()<=N/2) { temp.clear(); for(auto i:ans) temp.push_back(i); if(x-x1<=(N-x-y1)) { temp.push_back(1); for(j=x1;j<x;j++) temp.push_back(0); if(isSubsequence(temp)) { y1++; ans.push_back(1); } else { x1++; ans.push_back(0); } } else { temp.push_back(0); for(j=y1;j<N-x;j++) temp.push_back(1); if(isSubsequence(temp)) { x1++; ans.push_back(0); } else { y1++; ans.push_back(1); } } } for(i=x1;i<x;i++) ans.push_back(0); for(i=y1;i<N-x;i++) ans.push_back(1); while(x1<x&&y1<N-x&&ans2.size()<=N/2) { temp.clear(); for(auto i:ans2) temp.insert(temp.begin(),i); if(x-x1<=(N-x-y1)) { temp.insert(temp.begin(),1); for(j=x1;j<x;j++) temp.insert(temp.begin(),0); if(isSubsequence(temp)) { y1++; ans2.insert(ans2.begin(),1); } else { x1++; ans2.insert(ans2.begin(),0); } } else { temp.insert(temp.begin(),0); for(j=y1;j<N-x;j++) temp.insert(temp.begin(),1); if(isSubsequence(temp)) { x1++; ans2.insert(ans2.begin(),0); } else { y1++; ans2.insert(ans2.begin(),1); } } } for(i=x1;i<x;i++) ans2.insert(ans2.begin(),0); for(i=y1;i<N-x;i++) ans2.insert(ans2.begin(),1); ans3.clear(); for(i=0;i<N;i++) ans3.push_back(0); for(i=0;i<ans.size();i++) ans3[i]=ans[i]; for(i=0;i<ans2.size();i++) ans3[N-(ans2.size()-i)]=ans2[i]; return ans3; } }

Compilation message (stderr)

hidden.cpp: In function 'std::vector<int> findSequence(int)':
hidden.cpp:62:39: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   62 |         while(x1<x&&y1<N-x&&ans.size()<=N/2)
      |                             ~~~~~~~~~~^~~~~
hidden.cpp:101:40: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  101 |         while(x1<x&&y1<N-x&&ans2.size()<=N/2)
      |                             ~~~~~~~~~~~^~~~~
hidden.cpp:142:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  142 |         for(i=0;i<ans.size();i++) ans3[i]=ans[i];
      |                 ~^~~~~~~~~~~
hidden.cpp:143:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  143 |         for(i=0;i<ans2.size();i++) ans3[N-(ans2.size()-i)]=ans2[i];
      |                 ~^~~~~~~~~~~~
grader.cpp: In function 'int main()':
grader.cpp:28:26: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
   28 |     fprintf (fifo_out, "%d\n", ans.size ());
      |                         ~^     ~~~~~~~~~~~
      |                          |              |
      |                          int            std::vector<int>::size_type {aka long unsigned int}
      |                         %ld
grader.cpp:29:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |     for (int i=0; i<ans.size () && i < N; i++)
      |                   ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...