#include<stdio.h>
#include<string.h>
#define inf 999999999
#define N 1100
struct node {
int u,v,w;
}edge[11000];
int visit[N],dis[N],id[N],pre[N],yong,n,index;
void addedge(int u,int v,int w){
edge[yong].u=u;
edge[yong].v=v;
edge[yong++].w=w;
}
int zhuliu(int root) {//朱刘算法模板
int sum=0;
n++;
while(1) {
int i;
for(i=0;i<n;i++)
dis[i]=inf;
memset(id,-1,sizeof(id));
memset(visit,-1,sizeof(visit));
for(i=0;i<yong;i++) {
int u=edge[i].u,v=edge[i].v;
if(dis[v]>edge[i].w&&u!=v){
pre[v]=u;
dis[v]=edge[i].w;
if(u==root)//记录最后与根节点连接的边
index=i;
}
}
pre[root]=root;
dis[root]=0;
for(i=0;i<n;i++) {
if(i==root)continue;
if(dis[i]==inf)return -1;
sum+=dis[i];
}
int res=0;
for(i=0;i<n;i++)
if(visit[i]==-1) {
int v=i;
while(visit[v]==-1) {
visit[v]=i;
v=pre[v];
}
if(visit[v]!=i||v==root)
continue;
int u;
for(u=pre[v];u!=v;u=pre[u])
id[u]=res;
id[v]=res++;
}
if(res==0)
return sum;
for(i=0;i<n;i++) {
if(id[i]==-1)
id[i]=res++;
}
for(i=0;i<yong;i++) {
edge[i].w-=dis[edge[i].v];
edge[i].u=id[edge[i].u];
edge[i].v=id[edge[i].v];
}
n=res;root=id[root];
}
return sum;
}
int main(){
int m,i,j,k,maxx,mm;
while(scanf("%d%d",&n,&m)!=EOF) {
yong=0;
maxx=0;
mm=m;//记录m
while(m--) {
scanf("%d%d%d",&i,&j,&k);
maxx+=k;//记录最大值
addedge(i,j,k);
}
maxx++;//增1
for(i=0;i<n;i++)//会记录第几次加入的边
addedge(n,i,maxx);//建立一个虚拟节点
k=zhuliu(n);
if(k==-1||k-maxx>=maxx)
printf("impossible\n");
else
printf("%d %d\n",k-maxx,index-mm);//实际上的根节点是减去m
printf("\n");
}
return 0;
}

最新文章

  1. C#基础——全局静态类中的静态类变量的设置
  2. CSS3关于transition过渡
  3. JAVA四种线程池实例
  4. java多线程总结五:线程池的原理及实现
  5. 【BZOJ2793】【数学】[Poi2012]Vouchers
  6. 心愿:做一个精简版MFC
  7. linux —— 学习笔记(环境变量的设置)
  8. 15、Cocos2dx 3.0游戏开发找小三之Sprite:每一个精灵都是上辈子折翼的天使
  9. android Instrumentoation 问答
  10. Python并发编程协程(Coroutine)之Gevent
  11. while,until
  12. Java学习目录(持续更新中)
  13. 获取sd卡空间大小和获取sd卡目录
  14. 兼容的获取样式的函数getStyle()
  15. Python开发【第九篇】:进程、线程
  16. css3-弹性盒模型
  17. SQL之PROCEDURE(存储过程)
  18. SqlServer2008安装时系统配置检查器重新启动计算机失败
  19. 设计模式之Proxy
  20. 自定义DelegatingHandler为ASP.NET Web Api添加压缩与解压的功能

热门文章

  1. linux patch 命令小结【转】
  2. java的list类
  3. ningbooj--1655--木块拼接(贪心)
  4. JPA实体关联关系,一对一以及转换器
  5. flash 遮住 div 解决办法
  6. git的常用命令。。
  7. POJ 3083 BFS+DFS 40行
  8. 【Codeforces】Codeforces Round #373 (Div. 2) -C
  9. WebApi中对请求参数和响应内容进行URL编码解码
  10. vegas pro 15解决导入的视频和音频有噪声问题,亲测可行