用c++14编写上述代码
时间: 2024-04-08 08:34:11 浏览: 14
以下是使用C++14编写的上述代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
const int MOD = 998244353;
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> graph(n + 1);
vector<int> outdegree(n + 1, 0);
vector<int> dp(n + 1, 0);
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v;
graph[u].push_back(v);
graph[v].push_back(u);
outdegree[u]++;
outdegree[v]++;
}
dp[1] = 1;
for (int i = 1; i <= n; i++) {
for (int j : graph[i]) {
if (j != 1) {
dp[i] = (dp[i] + dp[j]) % MOD;
}
}
dp[i] = (dp[i] * (outdegree[i] - 1)) % MOD;
}
for (int i = 1; i <= n; i++) {
cout << dp[i] << endl;
}
return 0;
}
```
请注意,C++14与之前版本的C++在语法上没有太大差异,只是添加了一些新特性。因此,上述代码在C++14中应该可以正常运行。如果你遇到任何问题,请随时提问。