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 |
|
|
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 |