# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
951723 | 2024-03-22T11:51:01 Z | mocha | Paths (BOI18_paths) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #define int long long using namespace std; const int mx = 3e5+5; int n, m, k; int a[mx]; long long b[6][mx]; long long ans = 0; signed main() { cin.tie(0);ios::sync_with_stdio(0); cin >> n >> m >> k; for (int i=1;i<=n;i++) { cin >> a[i]; } for (int i=1;i<=m;i++) { int u, v; cin >> u >> v; b[a[v]][u]++; b[a[u]][v]++; } for (int i=1;i<=n;i++) { b[a[i]][i] = 1; } for (int i=1;i<=n;i++) { long long tmp = 1; long long cnt = 0; // for (int j=1;j<=k;j++) { // if (a[i] == j) continue; tmp *= b[j][i]; cnt += b[j][i]; // } cnt--; ans += tmp * 2 + cnt; } cout << ans << "\n"; }