ural 1246. Tethered Dog

5464 ワード

http://acm.timus.ru/problem.aspx?space=1&num=1246

 1 #include <cstdio>

 2 #include <cstring>

 3 #include <algorithm>

 4 #define maxn 200010

 5 using namespace std;

 6 

 7 struct node

 8 {

 9     double x,y;

10 }p[maxn];

11 

12 double cross(node a,node b,node c)

13 {

14     return (c.x-a.x)*(b.y-a.y)-(c.y-a.y)*(b.x-a.x);

15 }

16 

17 int main()

18 {

19     int n;

20     scanf("%d",&n);

21     for(int i=1; i<=n; i++)

22     {

23         scanf("%lf%lf",&p[i].x,&p[i].y);

24     }

25     p[n+1]=p[1]; p[0]=p[n];

26     int c=0;

27     for(int i=1; i<=n; i++)

28     {

29         if(p[i].x>p[c].x)

30         {

31             c=i;

32         }

33     }

34     if(c==0) c=n;

35     if(cross(p[c-1],p[c],p[c+1])>=0) printf("cw
"); 36 else printf("ccw
"); 37 return 0; 38 }

View Code