QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#810030#8091. Hypnocdx123456WA 3ms14020kbC++14789b2024-12-11 19:14:032024-12-11 19:14:13

Judging History

你现在查看的是最新测评结果

  • [2024-12-11 19:14:13]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:14020kb
  • [2024-12-11 19:14:03]
  • 提交

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'