제출 #1206316

#제출 시각아이디문제언어결과실행 시간메모리
1206316asli_bgTriangles (CEOI18_tri)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; //#define int long long //#include "trilib.h" typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<pii> vii; typedef vector<bool> vb; typedef long long ll; typedef pair<ll,ll> pll; typedef vector<pll> vll; typedef tree<pii,null_type,less<pii>,rb_tree_tag, tree_order_statistics_node_update> oset; #define fi first #define se second #define pb push_back #define pf push_front #define mid (l+r)/2 #define all(x) x.begin(),x.end() #define FOR(i,a) for(int i=0;i<(a);i++) #define FORE(i,a,b) for(int i=(a);i<(b);i++) #define cont(x) for(auto el:x) cout<<el<<' ';cout<<endl; #define contp(x) for(auto el:x) cout<<el.fi<<'-'<<el.se<<' ';cout<<endl; #define sp <<" "<< #define DEBUG(x) cout<<(#x) sp x<<endl #define carp(a,b) (((a%MOD)*(b%MOD))%MOD) #define topla(a,b) (((a%MOD)+(b%MOD))%MOD) const ll INF=1e18; const int MAXN=92;//1e5+5; const int MAXNN=2e5+5; const int MOD=1e9+7; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n=get_n(); if(n==3) give_answer(3); else{ vb used(n+1,false); vi vec; FORE(i,1,n+1){ FORE(j,i+1,n+1){ int bir,iki; bir=iki=0; FORE(k,1,n+1){ if(k==i or k==j) continue; if(is_clockwise(i,j,k)) bir++; else iki++; if(bir>0 and iki>0) break; } if(bir==0){ used[i]=used[j]=true; vec.pb(j);vec.pb(i); } else if(iki==0){ used[i]=used[j]=true; vec.pb(i);vec.pb(j); } if(!vec.empty()) break; } if(!vec.empty()) break; } FORE(i,1,n+1){ if(used[i]) continue; used[i]=true; int bir=(is_clockwise(vec.back(),vec.front(),i)==true); FOR(j,vec.size()){ int sonra=(j+1<vec.size()?j+1:0); int iki=(is_clockwise(vec[j],vec[sonra],i)==true); if(bir+iki==2) continue; if(bir+iki==0){ //cont(vec); if(vec.size()>1){ int sonra2=(sonra+1<vec.size()?sonra+1:0); if(!is_clockwise(vec[sonra],vec[sonra2],i)){ auto it=vec.begin()+j; vec.erase(it); } } auto it=vec.begin()+j; vec.erase(it); vec.insert(it,i); break; } else if(bir==0){ auto it=vec.begin()+j; vec.insert(it,i); break; } bir=iki; } } int ans=vec.size(); give_answer(ans); } }

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

tri.cpp: In function 'int main()':
tri.cpp:50:11: error: 'get_n' was not declared in this scope
   50 |     int n=get_n();
      |           ^~~~~
tri.cpp:51:14: error: 'give_answer' was not declared in this scope
   51 |     if(n==3) give_answer(3);
      |              ^~~~~~~~~~~
tri.cpp:62:24: error: 'is_clockwise' was not declared in this scope
   62 |                     if(is_clockwise(i,j,k)) bir++;
      |                        ^~~~~~~~~~~~
tri.cpp:83:22: error: 'is_clockwise' was not declared in this scope
   83 |             int bir=(is_clockwise(vec.back(),vec.front(),i)==true);
      |                      ^~~~~~~~~~~~
tri.cpp:116:9: error: 'give_answer' was not declared in this scope
  116 |         give_answer(ans);
      |         ^~~~~~~~~~~