제출 #898149

#제출 시각아이디문제언어결과실행 시간메모리
898149alexddTriangles (CEOI18_tri)C++17
0 / 100
1 ms364 KiB
#include<bits/stdc++.h> #include "trilib.h" using namespace std; int n,centru; bool cmp(int x, int y) { if(is_clockwise(centru,x,y)) return 1; return 0; } bool is_inter(int x, int a, int b, int c)///is x in the triangle (a,b,c) { if(is_clockwise(a,b,c) && is_clockwise(x,b,c) && is_clockwise(x,a,b) && is_clockwise(x,c,a)) return 1; return 0; } signed main() { n = get_n(); if(n==3) { give_answer(3); return 0; } centru=3; vector<int> ord; for(int i=1;i<=n;i++) if(i!=centru) ord.push_back(i); sort(ord.begin(),ord.end(),cmp); vector<int> hull; hull.push_back(ord[0]); hull.push_back(ord[1]); for(int i=2;i<ord.size();i++) { while((int)hull.size()>=2 && is_inter(hull.back(), centru, hull[(int)hull.size()-2], ord[i])) hull.pop_back(); if((int)hull.size()<2 || !is_inter(ord[i], centru, hull.back(), hull[0])) hull.push_back(ord[i]); else { } } int idk=1, siz=hull.size(); for(int i=0;i<hull.size();i++) { if(is_inter(centru,hull[i],hull[(i+1)%siz],hull[(i+2)%siz])) { idk=0; break; } } give_answer(max(3,(int)hull.size() + idk)); }

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

tri.cpp: In function 'int main()':
tri.cpp:34:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |     for(int i=2;i<ord.size();i++)
      |                 ~^~~~~~~~~~~
tri.cpp:46:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |     for(int i=0;i<hull.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...