Advertisement
simushin_pavel

Untitled

Nov 15th, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <utility>
  3. #include <cmath>
  4. using namespace std;
  5. long double cross(pair<long double, long double> a, pair<long double, long double> b){return a.first*b.second-a.second*b.first;}
  6. long double dot(pair<long double, long double> a, pair<long double, long double> b){return a.first*b.first+a.second*b.second;}
  7. int main(){
  8.     ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  9.     pair<long double, long double> bef={0, 1}, nw;
  10.     long long i, n, angle, ans=0; cin >> n;
  11.     long double sum=0;
  12.     for(i=0; i<n; ++i){
  13.         cin >> nw.first >> nw.second;
  14.         sum+=atan2(cross(nw, bef), dot(nw, bef));
  15.         swap(nw, bef);
  16.     }
  17.     sum*=360.0;
  18.     sum/=6.2831853072;
  19.     angle=round(sum);
  20.     if(angle>0){
  21.         ans=angle/360;
  22.         angle%=360;
  23.     } else{
  24.         ans-=abs(angle)/360;
  25.     }
  26.     cout << ans;
  27.     return 0;
  28. }
  29.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement