313 条题解

  • 0
    @ 2009-06-07 20:15:19

    program zsr4;

    const

    y=3.14159;

    var

    n,i,j:longint; r,z,l:real;

    a:array[1..101,1..2]of real;

    begin

    readln(n,r);

    for i:=1 to n do readln(a,a);

    a[n+1,1]:=a[1,1];a[n+1,2]:=a[1,2];

    for i:=1 to n do begin

    l:=sqrt(sqr(abs(a-a))+sqr(abs(a-a)));

    z:=z+l;

    end;

    l:=2*r*y;

    z:=z+l;

    writeln(z:0:2);

    end.

  • 0
    @ 2009-06-06 07:55:50

    很水很水很水

    话说PASCAL里面用Pi就行

  • 0
    @ 2009-06-05 13:53:35

    编译通过...

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

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

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

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

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

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

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

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

    program abcd;

    var

    d,n:integer;

    r,v,z:real;

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

    begin

    read(n,r);

    v:=r * 2 * 3.1415926;

    for d:=1 to n do

    read(x[d],y[d]);

    z:=0;

    for d:=1 to n do begin

    if d n then begin

    z:=z + sqrt(sqr(x[d]-x[d+1]) + sqr(y[d]-y[d+1]));

    end;

    if d = n then

    z:=z + sqrt(sqr(x[d]-x[1]) + sqr(y[d]-y[1]));

    end;

    writeln(z+v:0:2);

    end.

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

    泪~ 开始忘了输出时:0:2

    然后开始v:=r*2*3.1415926写成 v:=r*2*3.14

    我的AC率啊~

  • 0
    @ 2009-06-03 12:11:37

    var

    a:array[0..26,0..26]of char;

    i,j,k,l,m,o,p,n,r,s,t,u,v,w:longint;

    b:array[0..26,0..26]of 0..1;

    procedure dfs(x,y:integer);

    var i,j,k:longint;

    begin

    if a[x,y]='m' then begin if s-1=t then exit;

    if (a[x+1,y]='.')and(b[x+1]=0) then begin

    s:=s+1;

    b[x+1,y]:=1;

    dfs(x+1,);

    s:=s-1;

    b[x+1,y]:=0;

    end;

    if (a[x-1,y]='.')and(b[x-1,y]=0) then begin

    s:=s+1;

    b[x-1,y]:=1;

    dfs(x-1,y);

    s:=s-1;

    b[x-1,y]:=0;

    end;

    if (a[x,y+1]='.')and(b[x,y+1]=0) then begin

    s:=s+1;

    b[x,y+1]:=1;

    dfs(x,y+1);

    s:=s-1;

    b[x,y+1]:=0;

    end;

    if (a[x,y-1]='.')and(b[x,y-1]=0) then begin

    s:=s+1;

    b[x,y-1]:=1;

    dfs(x,y-1);

    s:=s-1;

    b[x,y-1]:=0;

    end;

    if (a[x-1,y]='#')and(b[x-1,y]=0) then begin

    s:=s+2;

    b[x-1,y]:=1;

    dfs(x+1,y);

    s:=s-2;

    b[x-1,y]:=0;

    end;

    for i:=1 to m do

    begin

    for j:=1 to n do

    read(a);

    readln;

    end;

    for i:=1 to m do

    for j:=1 to n do

    if a='s' then dfs(i,j);

    if min

  • 0
    @ 2009-05-16 21:45:39

    错哪了

    #include

    #include

    double work(double a, double b, double c, double d)

    {

    double s;

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

    printf ("%lf\n",a);

    return s;

    }

    int main()

    {

    int n,i,j;

    double lear,p=3.1416,r;

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

    int xy[n+1][3];

    lear=2*r*p;

    scanf ("%lf%lf",&xy[1][1],&xy[1][2]);

    for(i=2;i

  • 0
    @ 2009-05-13 23:27:22

    坐标数据已经按照逆时针给出,无需再排序.

    注意闭环: 即计算x0,y0到xn, yn的距离.

    本题最终将求和理解为距离之和.

    最后加上钉子的周长: 可以理解为绳子绕钉子一圈过程中紧贴钉子,弧度部分相当于绳子在柱子上绕一圈.

  • 0
    @ 2009-05-08 20:50:06

    这道题目变态!题意不清!!!!!!!!!!!!!!!!!!!!!!!

  • 0
    @ 2009-05-02 18:30:10

    用坐标之间的距离+圆的周长就行了,太简单了!

  • 0
    @ 2009-04-24 20:39:17

    第三个错误为什么呀

    #include "stdio.h"

    #include "math.h"

    int main()

    {

    double rad,//半径

    cir = 0,//绳子长

    pi = 3.1416;

    int n,

    ix;

    double x0,

    x1,

    x2,//存放很坐标

    y0,

    y1,

    y2;//存放纵坐标

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

    scanf ("%lf%lf" , &x0 , &y0);

    x1 = x0;

    y1 = y0;

    for (ix=1 ; ix

  • 0
    @ 2009-04-19 12:54:16

    const pi=3.14159265375; shuru='shuru.in';shuchu='shuchu.out';

    var a:array[1..100]of record

    o:double;

    t:double;

    end;

    r,sum,sum2,s1,s2,jj:double; n,i,ii,j:longint;

    begin

    readln(n,r);

    for i:=1 to n do readln(a[i].o,a[i].t);

    sum:=sum+2*pi*r;

    if n1 then begin

    for i:=1 to n do begin

    if i=n then ii:=1 else ii:=i+1 ;

    s1:=(a[ii].o-a[i].o)*(a[ii].o-a[i].o);

    s2:=(+a[ii].t-a[i].t)*(+a[ii].t-a[i].t);

    sum2:=s1+s2;

    sum:=sum+sqrt(sum2);

    end;

    end;

  • 0
    @ 2009-04-12 16:55:57

    program zsr4;

    const

    y=3.14159;

    var

    n,i,j:longint; r,z,l:real;

    a:array[1..101,1..2]of real;

    begin

    readln(n,r);

    for i:=1 to n do readln(a,a);

    a[n+1,1]:=a[1,1];a[n+1,2]:=a[1,2];

    for i:=1 to n do begin

    l:=sqrt(sqr(abs(a-a))+sqr(abs(a-a)));

    z:=z+l;

    end;

    l:=2*r*y;

    z:=z+l;

    writeln(z:0:2);

    end.

  • 0
    @ 2009-04-02 22:15:54

    所求绳子长度等于所有钉子中心点距离之和加上一个钉子的周长,小学水平的数学题。

    一开始超倒霉readln(x[i],y[i])写成readln(x[n],y[n])

    提交了N次都没发现……

    var x,y:array [1..100] of real;n,i:byte;ans,r:real;

    begin

    readln(n,r);

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

    for i:=1 to n-1 do

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

    ans:=ans+sqrt(sqr(x[1]-x[n])+sqr(y[1]-y[n]))+r*3.1415926*2;

    writeln(ans:0:2);

    end.

  • 0
    @ 2009-03-21 02:15:24

    编译通过...

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

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

    ├ 测试数据 03:答案错误...程序输出比正确答案长

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

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

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

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

    Unaccepted 有效得分:83 有效耗时:0ms

    输出格式打错,WA……

    改后:AC

    编译通过...

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

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

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

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

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

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

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

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

    (我的AC率%>_

  • 0
    @ 2009-03-16 19:18:51

    编译通过...

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

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

    ├ 测试数据 03:运行时错误...| 错误号: 106 | 无效数字格式

    ├ 测试数据 04:运行时错误...| 错误号: 106 | 无效数字格式

    ├ 测试数据 05:运行时错误...| 错误号: 106 | 无效数字格式

    ├ 测试数据 06:运行时错误...| 错误号: 106 | 无效数字格式

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

    Unaccepted 有效得分:33 有效耗时:0ms

    ?????????????????????????

    无效数字格式????????????

  • 0
    @ 2009-03-15 12:50:16

    program pro_1007;

    type zb=record

    x:real;

    y:real;

    end;

    var

    n,i:integer;

    r:double;

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

    tot:double;

    begin

    readln(n,r);

    for i:=1 to n do begin read(a[i].x,a[i].y);readln;end;

    if n=1 then tot:=2*3.14159265*r;

    if n=2 then tot:=sqrt(sqr(a[1].x-a[2].x)+sqr(a[1].y-a[2].y))*2+2*3.14159265*r;

    if n>=3 then begin

    tot:=2*3.14159265*r;

    for i:=1 to n-1 do tot:=tot+sqrt(sqr(a[i].x-a.x)+sqr(a[i].y-a.y));

    tot:=tot+sqrt(sqr(a[1].x-a[n].x)+sqr(a[1].y-a[n].y));

    end;

    writeln(tot:0:2);

    end.

  • 0
    @ 2009-02-22 21:27:32

    这道题只需求两点间距离的总和再加上一个对应半径的圆就是绳子的总长了,具体数学证明略

  • 0
    @ 2009-02-18 15:58:49

    #include

    #include

    main()

    {

    float X[101];

    float Y[101];

    float L=0;

    float R;

    int i,j,n;

    scanf("%d",&n);

    scanf("%f",&R);

    for(i=1;i

  • 0
    @ 2009-02-16 00:21:41

    #include

    #include

    using namespace std;

    int main()

    {

      cout.setf(ios::fixed);

      cout.setf(ios::showpoint);

      cout.precision(2);

      const double pi=3.1415;

      int n,i;

      double r,l;

      cin >> n >> r;

      double a[n],b[n];

      for (i=0;i> a[i] >> b[i];

      l=pi*r*2;

      if (n==1)

      cout

  • 0
    @ 2009-02-05 09:34:02

    program Project1;

    var   s1,s2,k:array[1..100] of real;

        n,i:integer;

        r,a:real;

        

    begin a:=0;

        readln(n,r);

         for i:=1 to n-1 do

         readln(s1[i],s2[i]);

         for i:=1 to n do

       begin    k[i]:=sqrt(sqr((s1-s1[i]))+sqr((s2-s2[i])));

           a:=a+k[i];

       end;

          a:=a+3.141592658*2*r;

          write(a:0:2);

    end.

  • 0
    @ 2009-02-02 23:41:42

    ……囧 按顺序求和吧

信息

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