比赛 |
至少完成十道练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
分糖果 |
最终得分 |
100 |
用户昵称 |
Regnig Etalsnart |
运行时间 |
1.191 s |
代码语言 |
C++ |
内存使用 |
1.26 MiB |
提交时间 |
2017-05-20 21:31:48 |
显示代码纯文本
#include<cstdio>
#include<vector>
#include<queue>
#define syy myson
using namespace std;
const int maxn=100010;
int n,p,c,m,in[maxn],k[maxn],t=-maxn,i;
vector<int>v[maxn];
queue<int>q;
int Main()
{
freopen("dividecandy.in","r",stdin);freopen("dividecandy.out","w",stdout);
scanf("%d%d%d%d",&n,&p,&c,&m);
for(i=1;i<=p;i++)
{
int x,y;
scanf("%d%d",&x,&y);
v[x].push_back(y);
v[y].push_back(x);
}
q.push(c);
in[c]=1;
k[c]=1;
while(!q.empty())
{
int ok=0;
int now=q.front();
q.pop();
for(i=0;i<v[now].size();i++)
{
if(!in[v[now][i]])
{
in[v[now][i]]=1;
q.push(v[now][i]);
k[v[now][i]]=k[now]+1;
}
}
}
for(i=1;i<=n;i++)if(t<k[i])t=k[i];
printf("%d",t+m);
return 0;
}
int main(){;}
int syy=Main();
/*
10 20 1
25
10 5
7 8
7 9
3 1
8 3
9 4
10 1
5 7
5 4
9 3
1 7
4 1
2 9
7 3
8 4
3 10
6 5
10 4
6 7
10 9
*/