Cod sursa(job #685014)

Utilizator AlikingAlin Mogis Aliking Data 20 februarie 2012 21:02:40
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
using namespace std;
int n,m,a[10000][10000],V[10000];
ifstream fin("dfs.in");ofstream fout("dfs.out");
void citire()
{
	int x,y;
	fin>>n>>m;while(fin>>x>>y)	{a[x][y]=1;a[y][x]=1;}
}
void parc()
{
	int L[10000],i,j,k=0,s=0;for(i=1;i<=n;i++)	L[i]=i;
	while(k<=m)
	{
		int i,j;
		for(i=1;i<=n&&k<=m;i++)
		{
			for(j=i;j<=n&&k<=m;j++)
			{
				if(a[i][j]==1)	{L[j]=i;k++;}
			}
		}
	}
	for(i=1;i<=n;i++)
	{
		for(j=i+1;j<=n;j++)
		{
			if(L[j]==L[i]&&V[i]==0)	{s++;V[i]++;}
		}
	}
	fout<<s;
}
int main()
{
	citire();parc();return 0;
}