313 条题解

  • 0
    @ 2009-10-30 22:41:57

    #include

    using namespace std;

    main(){

    const float pi=3.1415926;

    int n,i;

    float s,r

    scanf ("%d",&n);

    scanf ("%f",&r);

    struct point s{

    float x;

    float y;

    }a[100];

    for(i=0;i

  • 0
    @ 2009-10-29 13:24:47

    编译通过...

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

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

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

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

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

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

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

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

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

    ***|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\|

    ***|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\***|\
    |

    program ex;

    var n,i:longint;

    r,z:real;

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

    begin

    readln(n,r);

    for i:=1 to n do

    begin

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

    end;

    for i:=2 to n do

    begin

    b[i]:=sqrt(sqr(a[i]-a)+sqr(c[i]-c));

    z:=z+b[i];

    end;

    z:=z+(3.141592653*2*r)+sqrt(sqr(a[1]-a[n])+sqr(c[1]-c[n]));

    writeln(z:0:2);

    end.

    ***|\
    **|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\***|

    ***|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|\**|

  • 0
    @ 2009-10-27 23:00:57

    编译通过...

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

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

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

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

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

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

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

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

    够水的…………

    第一次直接在记事本里AC……

  • 0
    @ 2009-10-27 00:38:28

    无聊题。。适合kill time。。。

    很显然,由于绳子都外切于每个钉子,所以相切的曲面长度之和等于一个钉子的圆周,所以答案就等于凸多边形边长+一个钉子圆周。。以下是13行程序:

    const pi=3.1415926;

    var n,i:longint;

    r,ans:extended;

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

    begin

    readln(n,r);

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

    x[n+1]:=x[1]; y[n+1]:=y[1];

    for i:=2 to n+1 do

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

    ans:=ans+2*pi*r;

    writeln(ans:0:2);

    end.

  • 0
    @ 2009-10-26 22:50:18

    编译通过...

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

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

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

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

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

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

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

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

  • 0
    @ 2009-10-25 10:35:17

    编译通过...

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

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

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

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

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

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

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

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

    这么简单 ,写不开是煞笔阿

  • 0
    @ 2009-10-18 16:42:55

    #include "stdio.h"

    #include "math.h"

    #define PI 3.14159265

    int main()

    {

    int n=0;

    int r=0;

    int i=1;

    float length=0;

    float m=0;

    float sum=0;

    float a[100][100]={0};

    float len[100]={0};

    printf("pls input N and R");

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

    for(i=1;i

  • 0
    @ 2009-10-11 20:39:16

    编译通过...

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

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

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

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

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

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

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

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

    TMD 一开始不知道,把PI定义了16位-_-,囧!

    #include

    #include

    #define PI 3.1415926535897932

    using namespace std;

    double far (double x1,double y1,double x2,double y2) {

    return sqrt(pow(x1-x2,2)+pow(y1-y2,2));

    }//far

    int main () {

    int n,i;

    double r,ans=0.0;

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

    double x[n],y[n];

    scanf("%lf%lf",&x[0],&y[0]);

    for (i=1;i

  • 0
    @ 2009-10-23 13:37:47

    编译通过...

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

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

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

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

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

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

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

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

    var

    a,i,n:integer;

    b,len,length,r:real;

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

    begin

    readln(n,r); length:=0;

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

    for i:=2 to n do begin

    if (x[i]=x) or (y[i]=y) then begin

    if (x[i]=x) then len:=abs(y[i]-y);

    if (y[i]=y) then len:=abs(x[i]-x);

    length:=length+len;

    end else begin

    len:=sqrt((x[i]-x)*(x[i]-x)+(y[i]-y)*(y[i]-y));

    length:=length+len;

    end;

    end;

    if (x[1]=x[n]) or (y[1]=y[n]) then begin

    if (x[1]=x[n]) then len:=abs(y[1]-y[n]);

    if (y[1]=y[n]) then len:=abs(x[1]-x[n]);

    length:=length+len;

    end else begin

    len:=sqrt((x[n]-x[1])*(x[n]-x[1])+(y[n]-y[1])*(y[n]-y[1]));

    length:=length+len;

    end;

    if n>2 then a:=(n-2)*180-n*180 else a:=360;

    b:=abs((a-a div 360*360)/360*r*2*3.1415926);

    len:=abs((a div 360)*3.1415926*2*r);

    length:=length+len+b;

    writeln(length:0:2);

    end.

  • 0
    @ 2009-10-07 20:52:18

    很简单的凸包

  • 0
    @ 2009-10-06 22:06:16

    没看懂题目 直接看题解了

  • 0
    @ 2009-10-03 13:39:59

    #include

    #include

    #define pi 3.1415926

    int i,n,t;

    double c,r,length;

    double x[101],y[101];

    int main()

    {

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

    for(i=1;i

  • 0
    @ 2009-10-02 11:41:19

    注意……PI的位数要长一些。

    否则可恶的PASCAL浮点会让你崩溃。

    pi:=3.1415926

  • 0
    @ 2009-09-27 10:38:44

    var n,i:integer;r,c,sum,s,a,b:real;x,y:array[1..100] of real;

    begin

    readln(n,r);

    for i:=1 to n do

    readln(x[i],y[i]);

    x[n+1]:=x[1];y[n+1]:=y[1];

    for i:=1 to n do

    begin

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

    sum:=sum+s

    end;

    sum:=sum+2*pi*r;

    write(sum:0:2);

    end.

  • 0
    @ 2009-09-27 09:38:55

    program shen;

    var i,j,n,k,l,o,p:longint;

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

      q,w,e,m:real;

      begin

       read(n,m);

       if n=1 then begin q:=3.1415926*2*m; writeln(q:0:2);halt;end;

       for i:=1 to n do

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

       for i:=1 to n-1 do

        q:=sqrt(sqr(a[i]-a)+sqr(b[i]-b))+q;

       q:=sqrt(sqr(a[n]-a[1])+sqr(b[n]-b[1]))+q;

       q:=q+(3.14159260*2*m);

       writeln(q:0:2);

    end.

  • 0
    @ 2009-09-23 12:53:48

    没见过这么水的题

    var i,j,n,k,l,o,p:longint;

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

    q,w,e,m:real;

    begin

    read(n,m);

    if n=1 then begin q:=3.1415926*2*m; writeln(q:0:2);halt;end;

    for i:=1 to n do

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

    for i:=1 to n-1 do

    q:=sqrt(sqr(a[i]-a)+sqr(b[i]-b))+q;

    q:=sqrt(sqr(a[n]-a[1])+sqr(b[n]-b[1]))+q;

    q:=q+(3.14159260*2*m);

    writeln(q:0:2);

    end.

  • 0
    @ 2009-09-22 23:19:31

    编译通过...

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

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

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

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

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

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

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

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

    #include

    #include

    int main ()

    {

    int i,j,k,n;

    float sum=0,a[100]={0.0},r,b[100]={0.0},pi=3.141;

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

    scanf("%f%f",&a[1],&b[1]);

    for(i=2;i

  • 0
    @ 2009-09-22 19:28:44

    program p;

    cinst

    pi=3.1415926;

    var

    n,i:integer;

    r,s:real;

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

    function dist(x1,y1,x2,y2:real):real;

    begin

    dist:=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);

    end;

    begin

    readln(n,r);

    s:=0;

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

    x[n+1]:=x[1];y[n+1]:=y[1];

    for i:=1 to n do

    s:=s+dist(x[i],y[i],x,y;

    s:=s+2*pi*r;

    writeln(s:2:2);

    end.

  • 0
    @ 2009-09-21 22:27:51

    Const

    Pi=3.1415926;

    Var

    N,i:integer;

    R,S:real;

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

    Function Dist(X1,Y1,X2,Y2:Real):Real;

    Begin

    Dist:=(X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2);

    Dist:=Sqrt(Dist);

    End;

    Begin

    Readln(N,R);

    s:=0;

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

    x[n+1]:=x[1];y[n+1]:=y[1];

    for i:=1 to n do

    s:=s+Dist(x[i],y[i],x,y);

    S:=S+2*Pi*R;

    Writeln(s:2:2);

    End.

    So Easy!!

    就是各个点距离之和加上一个半径为R的圆的周长,

    一次AC

信息

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