uva11090
제목: 방향도를 제시하고 그 중 어느 고리의 각 변의 권한과 변수 나누기가 가장 작은지 묻는다
코드:
#include <queue>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <algorithm>
const double INF=0x3f3f3f3f;
int n,m;
double d[55];
struct node{
int from,to;
double cost;
}G[2500];
bool judge(double v){
int i,j;
memset(d,0,sizeof(d));
for(i=0;i<m;i++)
G[i].cost-=v;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
node e=G[j];
if(d[e.to]>d[e.from]+e.cost){
d[e.to]=d[e.from]+e.cost;
if(i==n-1)
return 1;
}
}
}
return 0;
} //
int main(){
double l,r,mid;
int t,k,i,j;
scanf("%d",&t);
for(k=1;k<=t;k++){
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
scanf("%d%d%lf",&G[i].from,&G[i].to,&G[i].cost);
if(judge(INF)==0){ //
printf("Case #%d: No cycle found.
",k);
continue;
}
for(j=0;j<m;j++)
G[j].cost+=INF;
l=0,r=INF;
for(i=0;i<100;i++){ // ,
mid=(l+r)/2; // 0
if(judge(mid))
r=mid;
else
l=mid;
for(j=0;j<m;j++)
G[j].cost+=mid;
}
printf("Case #%d: %.2lf
",k,l);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.