QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#673215#4992. Enigmatic EnumerationUZINGWA 3ms4256kbC++141.0kb2024-10-24 21:09:592024-10-24 21:10:05

Judging History

你现在查看的是最新测评结果

  • [2024-10-24 21:10:05]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:4256kb
  • [2024-10-24 21:09:59]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=3005;
int n,m;
int u[N],v[N];
vector<int> g[N];
int dis[N];
ll dp[N];
ll ans;
int mis;
int flg[N][N];
queue<int> q;
void bfs(int st){
	for(int i=1;i<=n;i++) dis[i]=N;
	for(int i=1;i<=n;i++) dp[i]=0;
	dis[st]=0; q.push(st); dp[st]=1;
	while(!q.empty()){
		int u=q.front(); q.pop();
		for(int i=0;i<g[u].size();i++){
			int v=g[u][i];
			if(flg[u][v]) continue;
			if(dis[v]>dis[u]+1) {
				dis[v]=dis[u]+1;
				dp[v]=dp[u];
				q.push(v);
			}
			else if(dis[v]==dis[u]+1) dp[v]+=dp[u];
		}
	}
}
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++) {
		scanf("%d%d",&u[i],&v[i]);
		g[u[i]].push_back(v[i]);
		g[v[i]].push_back(u[i]);
	}
	mis=N;
	for(int i=1;i<=m;i++){
		flg[u[i]][v[i]]=flg[v[i]][u[i]]=1;
		bfs(u[i]);
		if(dis[v[i]]==mis) ans+=dp[v[i]];
		else if(dis[v[i]]<mis){
			mis=dis[v[i]];
			ans=dp[v[i]];
		}
		flg[u[i]][v[i]]=flg[v[i]][u[i]]=0;
	}
	ans/=(mis+1);
	printf("%lld",ans);
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 4160kb

input:

4 4
1 2
2 3
3 4
4 1

output:

1

result:

ok single line: '1'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3872kb

input:

5 10
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5

output:

10

result:

ok single line: '10'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3880kb

input:

6 6
1 2
2 3
3 1
4 5
5 6
6 4

output:

2

result:

ok single line: '2'

Test #4:

score: -100
Wrong Answer
time: 3ms
memory: 4256kb

input:

110 5995
109 20
100 23
99 65
106 40
105 62
89 67
57 9
83 38
38 20
28 11
39 28
32 20
108 90
96 50
97 51
80 40
64 48
101 27
84 27
43 35
103 79
70 32
29 28
109 2
43 16
110 94
101 71
84 67
23 19
33 17
107 79
90 33
83 64
57 39
105 46
47 1
80 79
93 67
78 53
34 20
105 15
77 66
65 63
102 57
76 59
47 40
95 4...

output:

642

result:

wrong answer 1st lines differ - expected: '215820', found: '642'