Submission #998763


Source Code Expand

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
typedef long long ll;
#define rep(i, a, b) for (int i = a; i <= b; ++ i)
const int maxn = 100010;
using namespace std;
bool vis[maxn]; int col[maxn]; ll h[3], ans;
int n, m, e, ter[maxn << 1], nxt[maxn << 1], lnk[maxn], opt[maxn];
void add(int x, int y) {
	ter[++ e] = y, nxt[e] = lnk[x], lnk[x] = e;
	ter[++ e] = x, nxt[e] = lnk[y], lnk[y] = e;
}
void bfs(int st) {
	int he = 0, ta = 1, ed = 0; opt[1] = st, vis[st] = false;
	col[st] = 0; bool flg = true;
	while (he != ta) {
		++ he; int u = opt[he];
		for (int i = lnk[u]; i; i = nxt[i]) {
			if (i & 1) ++ ed;
			if (vis[ter[i]]) {
				vis[ter[i]] = false;
				if (i & 1) col[ter[i]] = (col[u] + 1) % 3;
					else col[ter[i]] = (col[u] + 2) % 3;
				opt[++ ta] = ter[i];
			} else {
				if (i & 1) flg &= (col[ter[i]] == (col[u] + 1) % 3);
					else flg &= (col[ter[i]] == (col[u] + 2) % 3);
			}
		}
	}
	if (flg) {
		h[0] = h[1] = h[2] = 0;
		rep(i, 1, ta) ++ h[col[opt[i]]];
		if (!h[0] || !h[1] || !h[2]) { ans += ed; return ; }
		ans += h[0] * h[1] + h[1] * h[2] + h[2] * h[0];
	} else ans += (ll) ta * ta;
}
int main() {
	scanf("%d%d", &n, &m); int x, y;
	rep(i, 1, m) scanf("%d%d", &x, &y), add(x, y);
	memset(vis, true, sizeof(vis));
	ans = 0;
	rep(i, 1, n) if (vis[i]) bfs(i);
	printf("%lld\n", ans);
	return 0;
}

Submission Info

Submission Time
Task F - Blackout
User mjy0724
Language C++14 (GCC 5.4.1)
Score 1700
Code Size 1420 Byte
Status AC
Exec Time 29 ms
Memory 3072 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:42:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &m); int x, y;
                       ^
./Main.cpp:43:47: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  rep(i, 1, m) scanf("%d%d", &x, &y), add(x, y);
                                               ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1700 / 1700
Status
AC × 3
AC × 53
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt
Case Name Status Exec Time Memory
0_00.txt AC 3 ms 384 KB
0_01.txt AC 3 ms 384 KB
0_02.txt AC 3 ms 384 KB
1_00.txt AC 3 ms 384 KB
1_01.txt AC 4 ms 768 KB
1_02.txt AC 23 ms 2688 KB
1_03.txt AC 23 ms 3072 KB
1_04.txt AC 23 ms 3072 KB
1_05.txt AC 23 ms 3072 KB
1_06.txt AC 23 ms 3072 KB
1_07.txt AC 23 ms 3072 KB
1_08.txt AC 23 ms 3072 KB
1_09.txt AC 23 ms 3072 KB
1_10.txt AC 23 ms 3072 KB
1_11.txt AC 23 ms 3072 KB
1_12.txt AC 23 ms 3072 KB
1_13.txt AC 23 ms 3072 KB
1_14.txt AC 21 ms 3072 KB
1_15.txt AC 21 ms 3072 KB
1_16.txt AC 21 ms 3072 KB
1_17.txt AC 19 ms 1920 KB
1_18.txt AC 29 ms 2944 KB
1_19.txt AC 29 ms 2944 KB
1_20.txt AC 28 ms 2944 KB
1_21.txt AC 29 ms 2944 KB
1_22.txt AC 29 ms 2944 KB
1_23.txt AC 29 ms 2944 KB
1_24.txt AC 28 ms 2944 KB
1_25.txt AC 29 ms 2944 KB
1_26.txt AC 29 ms 2944 KB
1_27.txt AC 28 ms 2944 KB
1_28.txt AC 28 ms 2944 KB
1_29.txt AC 29 ms 2944 KB
1_30.txt AC 28 ms 2944 KB
1_31.txt AC 28 ms 2944 KB
1_32.txt AC 28 ms 2944 KB
1_33.txt AC 29 ms 3072 KB
1_34.txt AC 28 ms 2688 KB
1_35.txt AC 27 ms 2432 KB
1_36.txt AC 27 ms 2560 KB
1_37.txt AC 28 ms 2944 KB
1_38.txt AC 26 ms 2304 KB
1_39.txt AC 28 ms 2176 KB
1_40.txt AC 28 ms 2944 KB
1_41.txt AC 28 ms 2944 KB
1_42.txt AC 26 ms 2432 KB
1_43.txt AC 27 ms 2432 KB
1_44.txt AC 28 ms 2816 KB
1_45.txt AC 26 ms 2176 KB
1_46.txt AC 28 ms 2816 KB
1_47.txt AC 28 ms 2944 KB
1_48.txt AC 27 ms 2304 KB
1_49.txt AC 27 ms 2560 KB