View Code of Problem 130

#include<iostream>
using namespace std;

struct Point{
	int x,y;
};
int Count(int p,int n,int a[][1000])
{
	int cnt=0;
	for (int i=0;i<n;i++)
	{
		if(a[p-1][i]>0)
			cnt++;
	}
	return cnt;
}
int main()
{
	static int a[1000][1000],b[1000];
	int m,n,xx,yy,ss,flag;
	static	Point pp[200000];
	while(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;
		for (int i=0;i<m;i++)
		{
			if(Count(pp[i].x,n,a)==1||Count(pp[i].y,n,a)==1)
			{	
				cout<<pp[i].x<<" "<<pp[i].y<<endl;
				flag=1;
				break;
			}
		}
		if(!flag)
			cout<<-1<<endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 130