Submission #1791925


Source Code Expand

#include <iostream>
#include <string>
#include <algorithm>
#include <map>
#include <set>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#define	MOD  1000000007;
#define PI = 3.14159265358979323846;
using namespace std;

static const int N = 51;
static const int MAX = 100000;
static const int NIL = -1;
static const int INF = (1 << 21);

int n;
vector<int> G[N];
int color[N];

void dfs(int r, int c)
{
	stack<int> S;
	S.push(r);
	color[r] = c;

	while (!S.empty())
	{
		int u = S.top();
		S.pop();

		for (int i = 0; i < G[u].size(); i++)
		{
			int v = G[u][i];

			if (color[v] == NIL)
			{
				color[v] = c;
				S.push(v);
			}
		}
	}
}

void assignColor()
{
	int id = 1;

	for (int i = 1; i <= n; i++)
	{
		color[i] = NIL;
	}

	for (int u = 1; u <= n; u++)
	{
		if (color[u] == NIL) {
			dfs(u, id++);
		}
	}
}

int main()
{
	//Input
	int m;
	cin >> n >> m;

	int S[51];
	int T[51];

	for (int i = 0; i < m; i++)
	{
		cin >> S[i] >> T[i];
	}

	int count = 0;
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j < m; j++)
		{
			G[S[j]].clear();
			G[T[j]].clear();
		}

		for (int j = 0; j < m; j++)
		{
			if (j != i)
			{
				G[S[j]].push_back(T[j]);
				G[T[j]].push_back(S[j]);
			}
		}

		assignColor();

		for (int j = 0; j < m; j++)
		{
			if (color[S[j]] != color[T[j]])
			{
				count++;
			}
		}
	}

	cout << count << endl;
	return 0;
}

Submission Info

Submission Time
Task C - Bridge
User butanokakuni
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1481 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 20
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_1.txt AC 1 ms 256 KB
subtask_1_10.txt AC 1 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_13.txt AC 1 ms 256 KB
subtask_1_14.txt AC 1 ms 256 KB
subtask_1_15.txt AC 1 ms 256 KB
subtask_1_16.txt AC 1 ms 256 KB
subtask_1_17.txt AC 1 ms 256 KB
subtask_1_2.txt AC 1 ms 256 KB
subtask_1_3.txt AC 1 ms 256 KB
subtask_1_4.txt AC 1 ms 256 KB
subtask_1_5.txt AC 1 ms 256 KB
subtask_1_6.txt AC 1 ms 256 KB
subtask_1_7.txt AC 1 ms 256 KB
subtask_1_8.txt AC 1 ms 256 KB
subtask_1_9.txt AC 1 ms 256 KB