• 板块灌水区
  • 楼主hujr_114514
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/1/27 21:51
  • 上次更新2025/1/28 15:50:01
查看原帖
1350062
hujr_114514楼主2025/1/27 21:51
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
#define endl '\n'
#define int long long
struct edge {
	int sum = 0, len = 1e9 + 7;
//	bool is_vis = 0;
} dis[N];
set <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].insert(v);
		g[v].insert(u);
	}
	queue<int>q;
	q.push(1);
	dis[1] = {1, 0};
	while (!q.empty()) {
		int u = q.front();
		q.pop();
		for (int i : g[u]) {
			if (dis[u].len + 1  < dis[i].len || dis[i].len == 1e9 + 7) {
				dis[i].sum = dis[u].sum;
				dis[i].len = dis[u].len + 1;
				q.push(i);
			} else if (dis[i].len == dis[u].len + 1) {
				dis[i].sum += dis[u].sum;
				dis[i].sum %= 10003;
				q.push(i);
			}
		}
	}
	for (int i = 1; i <= n; i++) {
		cout << dis[i].sum << endl;
	}
	return 0;
}

交上去以后CE了,提示:Nothing is compiled: OUTPUT exceeds.

问题:p1144

2025/1/27 21:51
加载中...