社区讨论
听灌佬多
灌水区参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m6rwiprl
- 此快照首次捕获于
- 2025/02/05 20:45 去年
- 此快照最后确认于
- 2025/11/04 09:56 4 个月前
CPP
#include <bits/stdc++.h>
//#include <windows.h>
using namespace std;
const int N = 2e6 + 10;
#define endl '\n'
#define int long long
int dis[N];
int ans[N] = {0, 1};
vector<int>g[N];
int n, m;
signed main() {
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int u, v;
cin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);
}
memset(dis, 0x7f, sizeof(dis));
queue<int>q;
q.push(1);
dis[1] = 0;
while (!q.empty()) {
int u = q.front();
q.pop();
for (int i : g[u]) {
if (dis[u] + 1 < dis[i] || ans[i] == 0) {
ans[i] = ans[u];
dis[i] = dis[u] + 1;
q.push(i);
} else if (dis[i] == dis[u] + 1) {
ans[i] += ans[u];
ans[i] %= 100003;
}
}
}
for (int i = 1; i <= n; i++) {
cout << ans[i] << endl;
}
return 0;
}
p1144 100WA on #6
玄关
回复
共 1 条回复,欢迎继续交流。
正在加载回复...