oj1616:図の通信

トピック要件は、
任意の2つの頂点の間で、互いのマップに到達あなたにN個の頂点を与えるとMは非連結グラフのエッジ、この数字は一緒にまだあるので、エッジの最大数を削除することができる頼むことができることをグラフ手段を接続します。
入力
入力は、以下の部分を含みます。(入力の複数組の)
最初の部分の2点の入力数N(1 <= N <= 100) 及びMはそれぞれ、上部ポイントと図形のエッジ。
第二部:M行は、各行が接続され、頂点AとBの間にエッジがあると、二つの数字A、B形から成る、同じエッジは繰返しません。
出力
エッジの数を削除するには、出力アップ。
入力サンプル

1 0
サンプル出力

0
常に2点間を移動する必要がある点を見始めて、この問題は、見つけるために、DFSを書きたかった、
二点間の中国聯通は、後者の点が使用されていません。

void DFS(int x)
{
	
	vis[x]=1;
	for(int y=2;y<=n;y++)
	{
		if((a[x][y]==1||a[y][x]==1)&&vis[y]==0)
				DFS(y);
	}	
}

しかし!
これを書いた後、突然、私はこの問題は、中国聯通は、ポイント間から見た固定値法の問題であると思われることを発見しました。
1 ----- 2
1 ---- ----- 2 3;
1つの通信と全体として缶234。

ここに画像を挿入説明
デジタル未来は同じ理由です。したがって、中国ユニコムの数はN-1です。この質問は今、水の完全に質問です。

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
	int n, m;
	while (cin >> n >> m)
	{
		int x, y;
		for (int i = 1; i <= m; i++)
			cin >> x >> y;
		cout << m - n+1 << endl;
	}
	return 0;
}
公開された38元の記事 ウォン称賛27 ビュー3180

おすすめ

転載: blog.csdn.net/qq_45891413/article/details/104999946
おすすめ