QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#810030 | #8091. Hypno | cdx123456 | WA | 3ms | 14020kb | C++14 | 789b | 2024-12-11 19:14:03 | 2024-12-11 19:14:13 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
int n,m,f[200010];
vector<int> a[200010],v[200010];
double d[200010];
void solve(int x){
double z=0,k=1e9,p=1;
for(int i=0;i<a[x].size();i++){
int y=a[x][i];
z+=0.75*p*(d[y]+i+1);
p*=0.25;
k=min(k,z+(d[a[x][0]]+i+3)*p);
if(i>30) break;
}
d[x]=min(d[x],k);
}
int main(){
priority_queue<pair<double,int> > q;
int x,y;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
d[n]=0;
q.push(make_pair(0,n));
while(!q.empty()){
int x=q.top().second; q.pop();
if(f[x]) continue;
f[x]=1;
for(int i=0;i<v[x].size();i++){
int y=v[x][i];
a[y].push_back(x);
solve(y);
q.push(make_pair(-d[y],y));
}
}
printf("%.9lf",d[1]);
return 0;
}
詳細信息
Test #1:
score: 0
Wrong Answer
time: 3ms
memory: 14020kb
input:
3 3 1 2 1 3 2 3
output:
0.000000000
result:
wrong answer 1st numbers differ - expected: '1.5000000', found: '0.0000000', error = '1.0000000'