제출 #67247

#제출 시각아이디문제언어결과실행 시간메모리
67247KLPP사육제 (CEOI14_carnival)C++14
0 / 100
67 ms432 KiB
#include<iostream> #include<stdio.h> #include<vector> #include<algorithm> using namespace std; int n; int pergunta(vector<int> a){cout<<a.size()<<" "; for(int i=0;i<a.size();i++)cout<<a[i]+1<<" "; cout<<endl; int x; cin>>x; //x=a.size(); return x; } vector<int> ans(int i, int j){ if(i==j){ vector<int>v; v.push_back(j); return v; } int mid=(i+j)/2; vector<int> v1=ans(i,mid); vector<int> v2=ans(mid+1,j); /*for(int x=0;x<v1.size();x++)cout<<v1[x]<<" "; cout<<"V1"<<endl; for(int x=0;x<v2.size();x++)cout<<v2[x]<<" "; cout<<"V2"<<endl;*/ vector<pair<int,int> >V; int cnt[n]; for(int x=0;x<n;x++)cnt[x]=-1; for(int person=0;person<v2.size();person++){ cnt[v2[person]]=person+mid+1; //cout<<v2[person]<<" "<<person+mid+1<<endl; } vector<int> responde; for(int x=0;x<v1.size();x++){ int cor=0; for(int bit=0;bit<9;bit++){vector<int> festa; for(int y=0;y<n;y++){ if((y>>bit)%2==0 && cnt[y]!=-1){ festa.push_back(cnt[y]); } } festa.push_back(x+i); int R=pergunta(festa); if(R==festa.size())cor+=(1<<bit); } //cout<<cor<<endl<<endl; if(cor<n){ responde.push_back(cor); }else responde.push_back(v1[x]); } for(int person=0;person<v2.size();person++){ responde.push_back(v2[person]); } /*for(int x=0;x<responde.size();x++)cout<<responde[x]<<" "; cout<<"R"<<endl;*/ return responde; } int main(){ cin>>n; vector<int> V=ans(0,n-1); //for(int i=0;i<V.size();i++)cout<<V[i]<<endl; vector<pair<int,int> > v; for(int i=0;i<V.size();i++){ v.push_back(pair<int,int>(V[i],i)); }sort(v.begin(),v.end()); int color=0; int arr[n]; for(int i=0;i<v.size();i++){ if(i==0 || v[i].first!=v[i-1].first){ color++; }arr[v[i].second]=color; } for(int i=0;i<n;i++)cout<<arr[i]<<" "; cout<<endl; return 0; }

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

carnival.cpp: In function 'int pergunta(std::vector<int>)':
carnival.cpp:8:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<a.size();i++)cout<<a[i]+1<<" ";
              ~^~~~~~~~~
carnival.cpp: In function 'std::vector<int> ans(int, int)':
carnival.cpp:31:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int person=0;person<v2.size();person++){
                   ~~~~~~^~~~~~~~~~
carnival.cpp:36:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int x=0;x<v1.size();x++){
              ~^~~~~~~~~~
carnival.cpp:46:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(R==festa.size())cor+=(1<<bit);
       ~^~~~~~~~~~~~~~
carnival.cpp:53:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int person=0;person<v2.size();person++){
                   ~~~~~~^~~~~~~~~~
carnival.cpp: In function 'int main()':
carnival.cpp:65:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<V.size();i++){
              ~^~~~~~~~~
carnival.cpp:70:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<v.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...