제출 #923614

#제출 시각아이디문제언어결과실행 시간메모리
923614alexander707070카멜레온의 사랑 (JOI20_chameleon)C++14
0 / 100
1 ms344 KiB
#include <bits/stdc++.h> #include "chameleon.h" #define MAXN 1007 using namespace std; namespace { int n,bad[MAXN]; vector<int> to[MAXN]; vector< pair<int,int> > sol; vector<int> l,r,w; void bin(){ for(int curr:l){ int lt=0,rt=n+1,mid; while(lt+1<rt){ mid=(lt+rt)/2; w.clear(); for(int f=0;f<mid;f++)w.push_back(r[f]); w.push_back(curr); if(Query(w)!=w.size()){ rt=mid; }else{ lt=mid; } } if(rt!=n+1)to[curr].push_back(r[rt-1]); lt=rt; rt=n+1; while(lt+1<rt){ mid=(lt+rt)/2; w.clear(); for(int f=0;f<mid;f++)w.push_back(r[f]); w.push_back(curr); if(Query(w)!=w.size()){ rt=mid; }else{ lt=mid; } } if(rt!=n+1)to[curr].push_back(r[rt-1]); lt=rt; rt=n+1; while(lt+1<rt){ mid=(lt+rt)/2; w.clear(); for(int f=0;f<mid;f++)w.push_back(r[f]); w.push_back(curr); if(Query(w)!=w.size()){ rt=mid; }else{ lt=mid; } } if(rt!=n+1)to[curr].push_back(r[rt-1]); } for(int curr:r){ int lt=0,rt=n+1,mid; while(lt+1<rt){ mid=(lt+rt)/2; w.clear(); for(int f=0;f<mid;f++)w.push_back(l[f]); w.push_back(curr); if(Query(w)!=w.size()){ rt=mid; }else{ lt=mid; } } if(rt!=n+1)to[curr].push_back(l[rt-1]); lt=rt; rt=n+1; while(lt+1<rt){ mid=(lt+rt)/2; w.clear(); for(int f=0;f<mid;f++)w.push_back(l[f]); w.push_back(curr); if(Query(w)!=w.size()){ rt=mid; }else{ lt=mid; } } if(rt!=n+1)to[curr].push_back(l[rt-1]); lt=rt; rt=n+1; while(lt+1<rt){ mid=(lt+rt)/2; w.clear(); for(int f=0;f<mid;f++)w.push_back(l[f]); w.push_back(curr); if(Query(w)!=w.size()){ rt=mid; }else{ lt=mid; } } if(rt!=n+1)to[curr].push_back(l[rt-1]); } } } // namespace void Solve(int N) { n=N; for(int i=1;i<=2*n;i++){ l.push_back(i); if(Query(l)!=l.size()){ l.pop_back(); r.push_back(i); } } bin(); return; for(int i=1;i<=2*n;i++){ if(to[i].empty())cout<<1/0; if(to[i].size()==1)continue; else{ if(Query({i,to[i][0],to[i][1]})==1)bad[i]=to[i][2]; else if(Query({i,to[i][0],to[i][2]})==1)bad[i]=to[i][1]; else if(Query({i,to[i][2],to[i][1]})==1)bad[i]=to[i][0]; } } for(int i=1;i<=2*n;i++){ for(int f:to[i]){ if(bad[i]==f or bad[f]==i)continue; if(i<f)Answer(i,f); } } }

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

chameleon.cpp: In function 'void {anonymous}::bin()':
chameleon.cpp:25:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |             if(Query(w)!=w.size()){
      |                ~~~~~~~~^~~~~~~~~~
chameleon.cpp:42:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             if(Query(w)!=w.size()){
      |                ~~~~~~~~^~~~~~~~~~
chameleon.cpp:59:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |             if(Query(w)!=w.size()){
      |                ~~~~~~~~^~~~~~~~~~
chameleon.cpp:78:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   78 |             if(Query(w)!=w.size()){
      |                ~~~~~~~~^~~~~~~~~~
chameleon.cpp:95:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   95 |             if(Query(w)!=w.size()){
      |                ~~~~~~~~^~~~~~~~~~
chameleon.cpp:112:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  112 |             if(Query(w)!=w.size()){
      |                ~~~~~~~~^~~~~~~~~~
chameleon.cpp: In function 'void Solve(int)':
chameleon.cpp:129:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  129 |         if(Query(l)!=l.size()){
      |            ~~~~~~~~^~~~~~~~~~
chameleon.cpp:139:27: warning: division by zero [-Wdiv-by-zero]
  139 |   if(to[i].empty())cout<<1/0;
      |                          ~^~
#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...