Submission #746554

#TimeUsernameProblemLanguageResultExecution timeMemory
746554amirhoseinfar1385Triangles (CEOI18_tri)C++17
55 / 100
1408 ms1232 KiB
#include<bits/stdc++.h> #include "trilib.h" using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n=get_n(); vector<int>unnow; if(is_clockwise(1,2,3)){ unnow.push_back(1); unnow.push_back(2); unnow.push_back(3); } else{ unnow.push_back(1); unnow.push_back(3); unnow.push_back(2); } for(int ind=4;ind<=n;ind++){ int sz=unnow.size(); vector<int>ted(sz+1); int f=0; int ff=unnow[1]; //cout<<ind<<" "<<ff<<" "<<unnow.back()<<" "<<unnow[0]<<" "<<unnow.size()<<endl; if(is_clockwise(unnow.back(),unnow[0],ind)!=is_clockwise(unnow.back(),unnow[0],ff)){ ted[sz-1]++; ted[0]++; f=1; } //cout<<ind<<endl; for(int i=0;i<sz-1;i++){ ff=unnow[0]; if(i==0){ ff=unnow[2]; } if(is_clockwise(unnow[i],unnow[i+1],ind)!=is_clockwise(unnow[i],unnow[i+1],ff)){ ted[i]++; ted[i+1]++; f=1; } } if(f==0){ continue; } vector<int>fake; int z=0; for(int i=0;i<sz;i++){ if(ted[i]==2){ continue; } if(ted[i]==0){ fake.push_back(unnow[i]); continue; } fake.push_back(unnow[i]); if(z){ continue; } if(i==sz-1||ted[i+1]!=0){ z=1; fake.push_back(ind); } } swap(fake,unnow); fake.clear(); } give_answer((int)unnow.size()); }
#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...