Submission #10472885


Source Code Expand

#include <bits/stdc++.h>
#define ll long long

using namespace std;

const int MAX_N = 100010;
int A[MAX_N], B[MAX_N], C[MAX_N], D[MAX_N];
int parent[MAX_N];
int size[MAX_N];

int find_parent(int u) {
	if(parent[u] == -1) return u;
	return parent[u] = find_parent(parent[u]);
}

void merge(int u, int v) {
	u = find_parent(u);
	v = find_parent(v);
	if(u == v) return;
	parent[v] = u;
	size[u] += size[v];
}

void run() {
	int n, m, k, i;
	cin >> n >> m >> k;
	for(i=0; i<MAX_N; i++) {
		A[i] = B[i] = C[i] = D[i] = -1;
		parent[i] = -1;
		size[i] = 1;
	}
	for(i=0; i<m; i++) {
		cin >> A[i] >> B[i];
		--A[i]; --B[i];
		merge(A[i], B[i]);
	}
	for(i=0; i<k; i++) {
		cin >> C[i] >> D[i];
		--C[i]; --D[i];
	}
	vector<int> ret(n, 0);
	
	for(i=0; i<n; i++)
		ret[i] = size[find_parent(i)] - 1;

	for(i=0; i<m; i++) {
		--ret[A[i]];
		--ret[B[i]];
	}
	for(i=0; i<k; i++) {
		if(find_parent(C[i]) == find_parent(D[i])) {
			--ret[C[i]];
			--ret[D[i]];
		}
	}
	for(i=0; i<n; i++)
		cout << ret[i] << " ";
	cout << endl;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);		
	int t = 1;
	// cin >> t;
	while(t--) {
		run();
	}
}

Submission Info

Submission Time
Task D - Friend Suggestions
User sh_maestro
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1199 Byte
Status AC
Exec Time 48 ms
Memory 4224 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 30
Set Name Test Cases
Sample 00-sample-00, 00-sample-01, 00-sample-02
All 00-sample-00, 00-sample-01, 00-sample-02, 01-handmade-00, 01-handmade-01, 01-handmade-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 02-small-00, 02-small-01, 02-small-02, 02-small-03, 02-small-04, 02-small-05, 02-small-06, 02-small-07, 02-small-08, 02-small-09, 03-large-00, 03-large-01, 03-large-02, 03-large-03, 03-large-04, 03-large-05, 03-large-06, 03-large-07, 03-large-08, 03-large-09
Case Name Status Exec Time Memory
00-sample-00 AC 2 ms 2560 KiB
00-sample-01 AC 2 ms 2560 KiB
00-sample-02 AC 2 ms 2560 KiB
01-handmade-00 AC 2 ms 2560 KiB
01-handmade-01 AC 2 ms 2560 KiB
01-handmade-02 AC 23 ms 3200 KiB
01-handmade-03 AC 16 ms 3072 KiB
01-handmade-04 AC 48 ms 3584 KiB
01-handmade-05 AC 45 ms 4224 KiB
01-handmade-06 AC 41 ms 3200 KiB
02-small-00 AC 2 ms 2560 KiB
02-small-01 AC 2 ms 2560 KiB
02-small-02 AC 2 ms 2560 KiB
02-small-03 AC 2 ms 2560 KiB
02-small-04 AC 2 ms 2560 KiB
02-small-05 AC 2 ms 2560 KiB
02-small-06 AC 2 ms 2560 KiB
02-small-07 AC 2 ms 2560 KiB
02-small-08 AC 2 ms 2560 KiB
02-small-09 AC 2 ms 2560 KiB
03-large-00 AC 34 ms 3200 KiB
03-large-01 AC 39 ms 3328 KiB
03-large-02 AC 35 ms 3200 KiB
03-large-03 AC 34 ms 3328 KiB
03-large-04 AC 34 ms 3200 KiB
03-large-05 AC 33 ms 3328 KiB
03-large-06 AC 32 ms 3072 KiB
03-large-07 AC 38 ms 3200 KiB
03-large-08 AC 42 ms 3456 KiB
03-large-09 AC 48 ms 3456 KiB