313 条题解

  • 0
    @ 2008-10-28 08:24:36

    一个简单的数学问题

    注意下细节就行了

    (绳子与圆连的部分的弧长总和一定是一个圆的周长)~

    AC~

  • 0
    @ 2008-10-27 22:12:51

    打错个i成了1,WA了好几次……

    PS:The one under me should be someone I know...

  • 0
    @ 2008-10-26 18:09:56

    阿东VS燕麦 Accpetted 100!为什么测试数据只有六个?

    const

    pi=3.1415926535;

    var

    n,i,k:integer;

    r,s,t,x,y,ro:real;

    nailx,naily:array[1..100]of real;

    begin

    readln(n,r);

    s:=0;

    ro:=pi*2*r ;

    readln (nailx[1], naily[1]);

    for i:= 2 to n do begin

    readln (nailx[i], naily[i]);

    x := nailx[i] - nailx;

    y := naily[i] - naily;

    t := sqrt ((x * x) + (y * y));

    s := s + t;

    end;

    x := nailx[1] - nailx[n];

    y := naily[1] - naily[n];

    t := sqrt ((x * x) + (y * y));

    s := s + t + ro;

    writeln (s:2:2);

    readln;

    end.

  • 0
    @ 2008-10-23 00:24:31

    program p1007;

    var

    r, dis, x0, y0, x, y, x1, y1 :extended;

    i, j, k, l :longint;

    begin

    readln(l, r);

    dis:=2*r*3.14159;

    readln(x0, y0);

    x1:=x0; y:=y0;

    for i:=2 to l do

    begin

    readln(x, y);

    dis:=dis+sqrt(sqr(x-x1)+sqr(y-y1));

    x1:=x; y1:=y;

    end;

    dis:=dis+sqrt(sqr(x1-x0)+sqr(y1-y0));

    writeln(dis:0:2);

    end.

    第一遍直接打的WA了,看我错哪里了。。。

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-10-16 21:45:24

    他妈妈的!

    r是实数没注意看wa了1次.

    为了这题啊!旺仔牛奶"得"+"失"

  • 0
    @ 2008-10-16 12:43:36

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    GrahamScan..这道题练习一下这个很好

    (Tips:源程序交到Ural上竟然是编译错误..)

  • 0
    @ 2008-10-15 21:18:34

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    数学要学好啊

  • 0
    @ 2008-10-15 11:42:49

    var

    r,sum:real;

    n,i:integer;

    a:array[1..100]of real;

    x,y:array[1..100]of real;

    begin

    readln(n,r);

    for i:=1 to n do read(x[i],y[i]);

    sum:=3.14159*2*r;

    for i:=2 to n do

    begin

    a[i]:=sqrt(sqr(x[i]-x)+sqr(y[i]-y));

    sum:=sum+a[i];

    end;

    sum:=sum+sqrt(sqr(x[1]-x[n])+sqr(y[1]-y[n]));

    writeln(sum:0:2);

    end.

  • 0
    @ 2008-10-10 19:19:14

    AC

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-10-05 22:27:34

    #include

    #include

    #include

    using namespace std;

    int main( )

    {float a,b,c,d,r,s=0,p,q;

    int i,j,n;

    cin>>n>>r;

    cin>>a>>b;

    p=a;q=b;

    for (i=2;i>c>>d;

    s+=sqrt((a-c)*(a-c)+(b-d)*(b-d));

    a=c;b=d;

    }

    s+=3.1415*r*2+sqrt((a-p)*(a-p)+(b-q)*(b-q));

    cout

  • 0
    @ 2008-10-05 13:50:29

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-10-03 22:44:19

    C++的正确答案~~供大家欣赏~~哈哈我AV啦~~~~~~~激动啊

    #include

    #include "math.h"

    using namespace std;

    #define PI 3.1415926

    struct record

    {

    double x;

    double y;

    };

    int main()

    {struct record *p;

    int i,n;double sum,c,r;

    cin>>n>>r;

    p=new struct record[101];

    for(i=1;i>p[i].x>>p[i].y;

    p[n+1].x=p[1].x;

    p[n+1].y=p[1].y;

    for(i=1;i

  • 0
    @ 2008-10-03 14:26:32

    const

    pi = 3.1415926535;

    var

    n, i, k: integer;

    r, s, t, x, y, ro: real;

    nailx, naily: array [1..100] of real;

    begin

    read (n, r);

    readln;

    s := 0;

    ro := pi * (r + r);

    readln (nailx[1], naily[1]);

    for i:= 2 to n do begin

    readln (nailx[i], naily[i]);

    x := nailx[i] - nailx;

    y := naily[i] - naily;

    t := sqrt ((x * x) + (y * y));

    s := s + t;

    end;

    x := nailx[1] - nailx[n];

    y := naily[1] - naily[n];

    t := sqrt ((x * x) + (y * y));

    s := s + t + ro;

    writeln (s :2:2);

    readln

    end.

    难度1..呵呵..

  • 0
    @ 2008-10-01 23:18:54

    ...

  • 0
    @ 2008-09-30 17:25:12

    用C++做的

    半径用int狂错,后来看到半径为实数改成float才过

  • 0
    @ 2008-09-30 09:04:55

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-09-24 22:50:03

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    ans:=∑(sqrt(sqr(x1-x2)+sqr(y1-y2)))+2*pi*r

  • 0
    @ 2008-09-21 14:00:42

    #include

    #include

    #define pi 3.1415926

    int i,n,t;

    double c,r,length;

    double x[101],y[101];

    main(){

    scanf("%d%lf",&n,&r);

    for (i=1;i

  • 0
    @ 2008-09-18 20:36:11

    不要想得太复杂……只要一遍O(n)的圆心距加起来,再加上2*pi*R(画图可知)就可以AC。注意,想一想你的算法有没有考虑到n=1

  • 0
    @ 2008-09-17 19:04:11

    var

    a,b:array[1..1000]of real;

    n,i,j:longint; r,num:real;

    begin

    readln(n,r);var

    a,b:array[1..1000]of real;

    m,n,i,j,t:longint; r,num:real;

    begin

    readln(n,r);

    for i:=1 to n do

    readln(a[i],b[i]);

    for j:=1 to n do

    begin

    if j=n then begin a[j+1]:=a[1];b[j+1]:=b[1];end;

    num:=num+sqrt(sqr(a[j]-a[j+1])+sqr(b[j]-b[j+1]));

    end;

    num:=num+2*3.14159*r;

    write(num:20:2);

    end.

信息

ID
1007
难度
5
分类
模拟 点击显示
标签
(无)
递交数
12262
已通过
4337
通过率
35%
被复制
28
上传者