提出 #8498789


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
#define int long long int
float distance(int x1, int y1, int x2, int y2) 
{ 
    // Calculating distance 
    return sqrt(pow(x2 - x1, 2) +  
                pow(y2 - y1, 2) * 1.0); 
} 
int factorial(int n) 
{ 
    // single line to find factorial 
    return (n==1 || n==0) ? 1: n * factorial(n - 1);  
}

signed main()
{
  int n;
  cin>>n;
   double x[n],y[n];

  for(int i=0;i<n;i++)
  {
  	cin>>x[i]>>y[i];
  }
  vector<int> vec(n);
  for(int i=0;i<n;i++)
  	vec[i]=i;
  double sum=0;
  do 
  {
    for(int i=0;i<n-1;i++)
    {
    	sum+=distance(x[vec[i+1]],y[vec[i+1]],x[vec[i]],y[vec[i]]);//linearly caluculating next permutations and summing the distance
    }

  }while(next_permutation(vec.begin(), vec.end()));
  double ans=sum/factorial(n);
  cout<<setprecision(10)<<ans<<endl;


	return 0;

}

提出情報

提出日時
問題 C - Average Length
ユーザ hakim_lukka
言語 C++14 (GCC 5.4.1)
得点 300
コード長 894 Byte
結果 AC
実行時間 3 ms
メモリ 256 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 15
セット名 テストケース
Sample sample00, sample01, sample02
All handmade03, handmade04, handmade05, random06, random07, random08, random09, random10, random11, random12, random13, random14, sample00, sample01, sample02
ケース名 結果 実行時間 メモリ
handmade03 AC 3 ms 256 KiB
handmade04 AC 3 ms 256 KiB
handmade05 AC 3 ms 256 KiB
random06 AC 1 ms 256 KiB
random07 AC 1 ms 256 KiB
random08 AC 1 ms 256 KiB
random09 AC 1 ms 256 KiB
random10 AC 1 ms 256 KiB
random11 AC 2 ms 256 KiB
random12 AC 3 ms 256 KiB
random13 AC 3 ms 256 KiB
random14 AC 3 ms 256 KiB
sample00 AC 1 ms 256 KiB
sample01 AC 1 ms 256 KiB
sample02 AC 3 ms 256 KiB