QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#467384 | #905. 三元环枚举 | james1BadCreeper# | WA | 0ms | 7368kb | C++17 | 829b | 2024-07-08 16:01:00 | 2024-07-08 16:01:00 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
const int P = 998244353;
int n, m, ans, deg[N], a[N];
int u[N], v[N], vis[N];
vector<int> G[N];
int main(void) {
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; ++i) scanf("%d", a + i);
for (int i = 1; i <= m; ++i) {
scanf("%d%d", u + i, v + i);
++deg[u[i]]; ++deg[v[i]];
}
for (int i = 1; i <= m; ++i) {
int x = u[i], y = v[i];
if (deg[x] < deg[y] || (deg[x] == deg[y] && x < y)) swap(x, y);
G[x].emplace_back(y);
}
for (int u = 1; u <= n; ++u) {
for (int v : G[u]) vis[v] = u;
for (int v : G[u]) for (int w : G[v])
if (vis[w] == u) ans = (ans + 1ll * a[u] * a[v] % P * a[w]) % P;
}
printf("%d\n", ans);
return 0;
}
詳細信息
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 7368kb
input:
4 5 1 2 3 4 0 3 2 0 2 1 2 3 1 3
output:
6
result:
wrong answer 1st words differ - expected: '36', found: '6'