zoj1032 Area 2

原创 2006年06月16日 13:35:00
  1. //zoj1032 Area 2

  2. //Accepted 1032 C++ 00:00.00 392K 

  3. #include <stdio.h>

  4. #define MAXN 100

  5.  

  6. struct point{ double x,y;};

  7.  

  8. double xmult(double x1,double y1,double x2,double y2){ return (x1*y2-y1*x2);}

  9. int gcd(int a,int b) { return b?gcd(b,a%b):a;}

  10. int abs(int x) { return x>0?x:(0-x);}

  11.  

  12. double area_polygon(int n, point *p)

  13. {

  14.        int i;

  15.        double ret=0;

  16.        for (i=0; i<n; ++i)

  17.               ret += xmult(p[i].x,p[i].y,p[i+1].x,p[i+1].y);

  18.        ret += xmult(p[n-1].x,p[n-1].y,p[0].x,p[0].y);

  19.        return ret/2;

  20. }

  21.  

  22. void solve()

  23. {

  24.        int i,n;

  25.        point p[MAXN+1];

  26.        int c,e;

  27.        double a;

  28.        int dx,dy;

  29.        scanf ("%d",&n);

  30.        p[0].x = p[0].y = 0;

  31.        e = 0;

  32.        for (i=0; i<n; ++i){

  33.               scanf ("%d %d",&dx,&dy);

  34.               e += gcd(abs(dx),abs(dy));

  35.               p[i+1].x = p[i].x+dx;

  36.               p[i+1].y = p[i].y+dy;

  37.        }

  38.        a = area_polygon(n+1,p);

  39.        c = (int)(a+1-0.5*(double)e);

  40.        printf ("%d %d %.1lf/n/n",c,e,a);

  41. }

  42.  

  43. int main()

  44. {

  45. #ifdef ONLINE_JUDGE

  46. #else

  47.        freopen("1032.txt","r",stdin);

  48. #endif

  49.        int i,t;

  50.        while (scanf ("%d",&t) != EOF)

  51.               for (i=1; i<=t; ++i){

  52.                      printf ("Scenario #%d:/n",i);

  53.                      solve();

  54.               }

  55. #ifdef ONLINE_JUDGE

  56. #else

  57.        fclose(stdin);

  58. #endif

  59.        return 0;

  60. }

ZOJ1032 Area 2

 /*假设:边数:m每次移动的距离:dx、dy开始坐标:0 0k次移动后的坐标:move[k].x move[k].y (1E=∑每次移动的dx、dy的最大公约数2*area=∑(move[k].x ...
  • shamoqiuyin
  • shamoqiuyin
  • 2010年10月01日 12:29
  • 352

【cm-3】汇编中的句子:AREA |.text|, CODE, READONLY, ALIGN=2详解

将原来的 RSEG CODE:CODE:NOROOT(2)   改成: AREA |.text|, CODE, READONLY, ALIGN=2         ;AREA |.text| 选择...
  • dddxxxx
  • dddxxxx
  • 2015年07月29日 16:28
  • 2534

ZOJ1032

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=32 最关键的一点:皮克公式,A = I + E / 2 - 1。 ...
  • qust1508060414
  • qust1508060414
  • 2016年02月29日 20:51
  • 101

题目1032 ZOJ

题目描述: 读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。 输入: 题目包含多组用例,每组用例占一行,...
  • u013011841
  • u013011841
  • 2014年08月26日 20:08
  • 741

OCP-V13-027

QUESTION 27 You are using the flash recovery area (fast recovery area in 11g Release 2) to store ba...
  • xuejiayue1105
  • xuejiayue1105
  • 2015年09月28日 13:18
  • 1010

MVC2 Area实现网站多级目录

Areas是ASP.NET Mvc 2.0版本中引入的众多新特性之一,它可以帮你把一个较大型的Web项目分成若干组成部分,即Area。实现Area的功能可以有两个组织形式: 在1个ASP.NET...
  • zhangxinbin5
  • zhangxinbin5
  • 2014年01月03日 13:41
  • 6037

熟悉OSPF的特殊区域:stub和stub totally

试验目的:熟悉OSPF的特殊区域:stub和stub totally使用拓扑:STUB 区域的练习:说明,R1上写一个lo1 Ip:200.200.200.200 然后重分布进area 1,这样R1就...
  • yytian
  • yytian
  • 2010年05月06日 12:45
  • 3611

OCP-1Z0-053-V12.02-27题

27.You are using the flash recovery area (fast recovery area in 11g Release 2) to store backup relat...
  • rlhua
  • rlhua
  • 2013年11月02日 17:59
  • 10273

ARM的AREA指令的使用

AREA指令指示汇编程序汇编新的代码节或数据节。节是不可分的已命名独立代码或数据块,它们由链接器处理。有关详细信息,请参阅ELF节和AREA指令。语法    AREA sectionname{,ATt...
  • canjiangsu
  • canjiangsu
  • 2011年01月24日 21:45
  • 5241

汇编中AREA指令的使用

AREA指令指示汇编程序汇编新的代码节或数据节。节是不可分的已命名独立代码或数据块,它们由链接器处理。有关详细信息,请参阅ELF节和AREA指令。 语法     AREAsectionname{,...
  • u013794647
  • u013794647
  • 2016年04月27日 15:41
  • 536
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:zoj1032 Area 2
举报原因:
原因补充:

(最多只允许输入30个字)