「救助」の問題オフニンニクメートル

ベースキャンプ救命ボートからは、人々の数に救助屋根がベースキャンプに戻り、それぞれの数字の座標の屋根と屋根の数が決定によって入力され、ベースキャンプに到達して過ごしたすべての時間を記録するように決定しました。

デカルトの起源た後、ベースキャンプからすべての救命ボートを開始し、システムがベースキャンプである座標ベースキャンプに戻って送信されます人々を救出します。点は、その位置と表現上のその座標によって屋根の座標系は、各番号の屋根を表します。

一つ屋根の下に50m /分のセイルの速度でベースキャンプからのすべての救命ボート。すべての救出これに屋根を、到達した後、各ボード111分。その後、ボートはバックとベースキャンプ、各上陸0.50.50.5分に戻ってきました。他の接続と屋根の原点は屋根を通過しないと仮定します。

入力フォーマット
最初の行の、屋根の数を表す整数N(1≤n≤100)が
行順に続くNNN入力を有する、実数キャンプの座標位置(XI、YI)に対する各屋根面の最初の2行を表します(メートル単位)、及び数字の間の空間によって分離され、整数RIの数を表します。0≤xi、YI≤100,1≤里≤100

出力形式の
ライン、救助のために必要な合計時間、分を(切り上げ)。
例えば、
入力
1つの
30 40 3
出力
7を
これはC ++にCからの私の最初の投稿遷移で、ちょうどC ++を学び始め、次のコードは、2つの言語で表示されますので、苦労して、C ++初心者には不快感を緩和するために
Cを言語

#include <stdio.h>
#include <math.h>
int main()
{
    int r,n,i,T;
    float x,y,t=0;
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
	scanf("%f %f %d",&x,&y,&r);
	t+=sqrt(x*x+y*y)/50*2+1.5*r;
    }
    T=t;
    if(t-T>0)
    {
        T++;
    }
    printf("%d\n",T);
return 0;
}

C ++

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    int n,i,r,T = 0;
    float x,y;
    float t = 0;
    cin>>n;
    for(i = 0;i < n;i++)
    {
        cin>>x>>y>>r;
        t+=1.5*r+sqrt(x*x+y*y)/50.0*2;
    }
    T = t;
    if(t-T > 0)
        cout<<T+1;
    else
        cout<<T;
    return 0;
}
公開された27元の記事 ウォンの賞賛4 ビュー655

おすすめ

転載: blog.csdn.net/qq_45861670/article/details/104409174