제출 #1007782

#제출 시각아이디문제언어결과실행 시간메모리
1007782Newtonabc동굴 (IOI13_cave)C++14
컴파일 에러
0 ms0 KiB
#include "cave.h" #include<bits/stdc++.h> using namespace std; int tryCombination(int arr[]){ int ttmp=4; for(int i=0;i<ttmp;i++) cout<<arr[i] <<" "; cout<<"\n"; int s; cin>>s; return s; } void exploreCave(int N) { int arr[N],fix[N],cn[N],cp[N]; for(int i=0;i<N;i++) arr[i]=fix[i]=cn[i]=0; int con[N]; vector<int> v; for(int i=0;i<N;i++){ v.clear(); for(int j=0;j<N;j++){ if(fix[j]) continue; v.push_back(arr[j]); con[v.size()-1]=j; } int l=0,r=v.size()-1; while(l<r){ int mid=(l+r)/2; for(int j=mid+1;j<=r;j++) v[j]=-1; for(int j=l;j<=mid;j++) v[j]=0; for(int j=0;j<N;j++) cp[j]=arr[j]; for(int j=0;j<v.size();j++) cp[con[j]]=v[j]; int tmp=tryCombination(cp); if(tmp==-1) tmp=INT_MAX; if(tmp>i){ r=mid; if(l==r) fix[con[l]]=1,cn[con[l]]=i,arr[con[l]]=cp[con[l]]; continue; } for(int j=l;j<=mid;j++) v[j]=1; for(int j=0;j<N;j++) cp[j]=arr[j]; for(int j=0;j<v.size();j++) cp[con[j]]=v[j]; tmp=tryCombination(cp); if(tmp==-1) tmp=INT_MAX; if(tmp>i){ r=mid; if(l==r) fix[con[l]]=1,cn[con[l]]=i,arr[con[l]]=cp[con[l]]; continue; } for(int j=l;j<=mid;j++) v[j]=-1; for(int j=mid+1;j<=r;j++) v[j]=0; for(int j=0;j<N;j++) cp[j]=arr[j]; for(int j=0;j<v.size();j++) cp[con[j]]=v[j]; tmp=tryCombination(cp); if(tmp==-1) tmp=INT_MAX; if(tmp>i){ l=mid+1; if(l==r) fix[con[l]]=1,cn[con[l]]=i,arr[con[l]]=cp[con[l]]; continue; } l=mid+1; if(l==r) fix[con[l]]=1,cn[con[l]]=i,arr[con[l]]=1; } } cout<<endl <<endl <<endl; for(int i=0;i<N;i++) cout<<arr[i] <<" "; for(int i=0;i<N;i++) cout<<cn[i] <<" "; //answer(arr,cn); } int main(){ exploreCave(4); }

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:30:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |       for(int j=0;j<v.size();j++) cp[con[j]]=v[j];
      |                   ~^~~~~~~~~
cave.cpp:40:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |    for(int j=0;j<v.size();j++) cp[con[j]]=v[j];
      |                ~^~~~~~~~~
cave.cpp:51:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |    for(int j=0;j<v.size();j++) cp[con[j]]=v[j];
      |                ~^~~~~~~~~
/usr/bin/ld: /tmp/ccSaqbSU.o: in function `tryCombination':
cave.cpp:(.text+0x0): multiple definition of `tryCombination'; /tmp/cc4N3CJW.o:grader.c:(.text+0x80): first defined here
/usr/bin/ld: /tmp/ccSaqbSU.o: in function `main':
cave.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc4N3CJW.o:grader.c:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status