#include<iostream> using namespace std; struct Point{ int x,y; }; int Count(int p,int n,int a[][1000],int &c) { int cnt=0; for (int i=0;i<n;i++) { if(a[p-1][i]>0) { c+=a[p-1][i]; cnt++; } } return cnt; } int main() { static int a[1000][1000],b[1000]; int m,n,xx,yy,ss,flag,max,c; static Point pp[200000]; Point p; cin>>n>>m; for (int i=0;i<n;i++) { b[i]=0; for (int j=0;j<n;j++) a[i][j]=0; } for (int i=0;i<m;i++) { cin>>xx>>yy>>ss; a[xx-1][yy-1]=a[yy-1][xx-1]=ss; pp[i].x=xx; pp[i].y=yy; } flag=0; max=c=0; for (int i=0;i<m;i++) { if(Count(pp[i].x,n,a,c)==1||Count(pp[i].y,n,a,c)==1) { if(max<c) { max=c; p=pp[i]; } flag=1; } } if(flag) cout<<p.x<<" "<<p.y<<endl; else cout<<-1<<endl; return 0; } |
Double click to view unformatted code.