Cod sursa(job #266911)

Utilizator gabor_oliviu1991gaboru corupt gabor_oliviu1991 Data 26 februarie 2009 12:03:52
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<stdio.h>
#include<string.h>
#define INF 100
#define N 20


int a[N][N], i,j,k,n,x,y,noduri,grad,p;


void read()
{
	freopen("cezar.in","r",stdin);
	freopen("cezar.out","w",stdout);

	scanf("%d %d",&n,&k);

	for(i = 1; i <= n; i++)
		{
		scanf("%d %d",&x,&y);
		a[x][y] = a[y][x] = 1;
		}
}

void rezolva()
{
	for(i = 1; i <= n-k; i++)
	{
		for(j = 1; j <= n, noduri <= n-k; j++)
			{
			grad = 0;
			for(p = 1; p <= n; p++)
				if(a[j][p] == 1)
					grad++;
			if(grad == 1)
				{
					for(int m =1;m<=n;m++)
						a[i][m] = 0;
					for(m =1;m<=n;m++)
						a[m][i] = 0;
					noduri++;
                }
			}
	}
}


int main()
{
	read();
	rezolva();

	for(i = 1; i<= n;i++)
		for(j = 1; j<= n; j++)
			if(a[i][j] == 1)
				printf("%d %d\n",i,j);

	return 0;
}