QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#810060#8091. Hypnocdx123456WA 3ms14044kbC++14874b2024-12-11 19:26:582024-12-11 19:27:10

Judging History

This is the latest submission verdict.

  • [2024-12-11 19:27:10]
  • Judged
  • Verdict: WA
  • Time: 3ms
  • Memory: 14044kb
  • [2024-12-11 19:26:58]
  • Submitted

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;
	}
	if(k>d[x]+0.001){
		cout<<x<<' '<<a[x].size()<<endl;
		exit(0);
	}
	d[x]=k;
}
int main(){
	priority_queue<pair<double,int> > q;
	int x,y;
	cin>>n>>m;
	for(int i=1;i<n;i++) d[i]=1e9;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		v[x].push_back(y);
		v[y].push_back(x);
	}
	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: 14044kb

input:

3 3
1 2
1 3
2 3

output:

3 1

result:

wrong answer 1st numbers differ - expected: '1.5000000', found: '3.0000000', error = '1.0000000'