제출 #1009412

#제출 시각아이디문제언어결과실행 시간메모리
1009412tarpent생물 실험 (IZhO13_expgorl)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma,tune=native") using namespace std; long long n,gx,gy,lx,ly,tgx,tgy,lo,up,mid,pgx,pgy; string pu,k; double mi,ma,tr,miko,mako; char e; long double naj(long long mik){ pgy=gy+mik*tgy; pgx=gx+mik*tgx; miko=INT_MAX; if(abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy)<miko) miko = abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy); for(int i = 0; i<pu.size(); i++){ e=pu[i]; if(e=='L'){ pgx-=1; } else if(e=='R'){ pgx+=1; } else if(e=='F'){ pgy+=1; } else if(e=='B'){ pgy-=1; } if(abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy)<miko) miko = abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy); } return(miko); } long double vec(long long mik){ pgy=gy+mik*tgy; pgx=gx+mik*tgx; mako=0; if(abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy)>mako) mako = abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy); for(int i = 0; i<pu.size(); i++){ e=pu[i]; if(e=='L'){ pgx-=1; } else if(e=='R'){ pgx+=1; } else if(e=='F'){ pgy+=1; } else if(e=='B'){ pgy-=1; } if(abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy)>mako) mako = abs(lx-pgx)*abs(lx-pgx)+abs(ly-pgy)*abs(ly-pgy); } return(mako); } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n; cin>>pu; cin>>lx>>ly>>gx>>gy; pgx=gx;pgy=gy; tgy=0; tgx=0; mi= INT_MAX; ma=0; int siz; char e; for(int i = 0; i<pu.size(); i++){ e=pu[i]; if(e=='L'){ tgx-=1; } else if(e=='R'){ tgx+=1; } else if(e=='F'){ tgy+=1; } else if(e=='B'){ tgy-=1; } } cout<<tgx<<' '<<tgy; mi=INT_MAX; ma=max(vec(0),vec(n-1)); lo=0; up=n-1; mid=up/2; while(1==1){ if(naj(mid)<naj(mid+1)){ up=mid; mid=(lo+up)/2; } else{ lo=mid; mid=(lo+up)/2; } if(up==lo or mid==lo){ if(mid==lo) mid=up; break; } //cout<<naj(mid)<<endl; } if(naj(mid)<naj(mid)+1 and naj(mid)<naj(mid-1)){ } else if(naj(lo)<naj(lo)+1 and naj(lo)<naj(lo-1)){ mid=lo; } else if(naj(up)<naj(up)+1 and naj(up)<naj(upu-1)){ mid=up; } mi=naj(mid); siz=k.size(); cout<<fixed; cout<<setprecision(12); cout<<sqrt(mi)<<' '<<sqrt(ma); }

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

expgorl.cpp: In function 'long double naj(long long int)':
expgorl.cpp:14:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |  for(int i = 0; i<pu.size(); i++){
      |                 ~^~~~~~~~~~
expgorl.cpp: In function 'long double vec(long long int)':
expgorl.cpp:37:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |  for(int i = 0; i<pu.size(); i++){
      |                 ~^~~~~~~~~~
expgorl.cpp: In function 'int main()':
expgorl.cpp:69:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   69 |  for(int i = 0; i<pu.size(); i++){
      |                 ~^~~~~~~~~~
expgorl.cpp:110:44: error: 'upu' was not declared in this scope; did you mean 'pu'?
  110 |  else if(naj(up)<naj(up)+1 and naj(up)<naj(upu-1)){
      |                                            ^~~
      |                                            pu