提出 #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 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |