#include<stdio.h> #include<string.h> #define M 200010 int main() { int n,a[M],b[M],w[M],c[M],flag=0,d[M],k=0,max,maxi,maxj,i,j,count; long m; while(scanf("%d%d",&n,&m)!=EOF) { memset(c,0,sizeof(c)); for(i=0;i<m;i++) {scanf("%d%d%d",&a[i],&b[i],&w[i]); c[a[i]]++;c[b[i]]++; } for(i=1;i<=n;i++) if(c[i]==0) { printf("-1\n"); flag=1; } for(i=1;i<=n;i++) {if(c[i]==1&&!flag) d[k++]=i; } count=0; for(i=1;i<=n;i++) {if(c[i]>1&&!flag) count++; if(count==n) {flag=1; printf("-1\n"); } } max=0; for(j=0;j<m;j++) for(i=0;i<k;i++) {if((d[i]==a[j]||d[i]==b[j])&&w[j]>max) {max=w[j]; maxi=a[j]; maxj=b[j]; } } if(!flag) printf("%d %d\n",maxi,maxj); flag=0;k=0; } } |
Double click to view unformatted code.