ログインしてください。
提出 #26005569
ソースコード 拡げる
#include<bits/stdc++.h>
#define int long long
#define pb push_back
#define mp make_pair
#define x first
#define y second
#define WT int TT=read();while(TT--)
#define NO puts("NO");
#define YES puts("YES");
using namespace std;
inline int read()
{
char c=getchar();int x=0;bool f=0;
for(;!isdigit(c);c=getchar())f^=!(c^45);
for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
if(f)x=-x;return x;
}
const int M=2e5+10;
int n,x,y,u[M],v[M],de1[M],de2[M],tag[M],fa[M],ans=1;
vector<int>e1[M],e2[M];
bool check(int u,int v)
{
if (de2[u]==de2[v])
return fa[u]!=fa[v];
if (abs(de2[u]-de2[v])==1)
return !(fa[u]==v||fa[v]==u);
if (abs(de2[u]-de2[v])==2)
return fa[fa[u]]!=v&&fa[fa[v]]!=u;
return 1;
}
void dfs1(int u,int ff)
{
de1[u]=de1[ff]+1;
if (de1[u]>=de2[u])return;
if (tag[u]){puts("-1");exit(0);}
ans=max(ans,de2[u]);
for (int i=0;i<e1[u].size();i++)
{
int to=e1[u][i];
if (to==ff)continue;
dfs1(to,u);
}
}
void dfs2(int u,int ff)
{
fa[u]=ff;de2[u]=de2[ff]+1;
for (int i=0;i<e2[u].size();i++)
{
int to=e2[u][i];
if (to==ff)continue;
dfs2(to,u);
}
}
signed main()
{
n=read(),x=read(),y=read();
for (int i=1;i<n;i++)
{
u[i]=read(),v[i]=read();
e1[u[i]].pb(v[i]),e1[v[i]].pb(u[i]);
}
for (int i=1;i<n;i++)
{
int u=read(),v=read();
e2[u].pb(v),e2[v].pb(u);
}
dfs2(y,0);
for (int i=1;i<n;i++)
if (check(u[i],v[i]))
tag[u[i]]=tag[v[i]]=1;
dfs1(x,0);cout<<(ans-1)*2<<endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Sugigma: The Showdown |
| ユーザ | pigstd |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 1400 |
| コード長 | 1535 Byte |
| 結果 | AC |
| 実行時間 | 139 ms |
| メモリ | 43476 KiB |
コンパイルエラー
./Main.cpp: In function ‘void dfs1(long long int, long long int)’:
./Main.cpp:41:16: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::vector<long long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
41 | for (int i=0;i<e1[u].size();i++)
| ~^~~~~~~~~~~~~
./Main.cpp: In function ‘void dfs2(long long int, long long int)’:
./Main.cpp:52:16: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::vector<long long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
52 | for (int i=0;i<e2[u].size();i++)
| ~^~~~~~~~~~~~~
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 1400 / 1400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | example0, example1, example2, example3, example4 |
| All | doublestar0, doublestar1, doublestar2, doublestar3, doublestar4, doublestar5, doublestar6, doublestar7, example0, example1, example2, example3, example4, giri0, giri1, giri2, giri3, giri4, giri5, giri6, giri7, giri8, giri9, maxrand0, maxrand1, maxrand2, maxrand3, maxrand4, maxrand5, maxrand6, maxrand7, maxrand8, maxrand9, narashi0, narashi1, narashi2, narashi3, narashi4, narashi5, narashi6, narashi7, narashi8, narashi9, ok0, ok1, ok2, ok3, ok4, ok5, ok6, ok7, ok8, ok9, ouh0, ouh1, ouh2, ouh3, ouh4, ouh5, ouh6, ouh7, ouh8, ouh9, same0, same1, same2, same3, same4, same5, same6, same7, same8, same9, sameline0, sameline1, sameline2, sameline3, sameline4, sameline5, sameline6, sameline7, sameline8, sameline9, star0, star1, star2, star3, star4, star5, star6, star7, star8, star9, supersmall0, supersmall1, supersmall2, supersmall3, supersmall4, supersmall5, supersmall6, supersmall7, supersmall8, supersmall9 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| doublestar0 | AC | 95 ms | 33528 KiB |
| doublestar1 | AC | 84 ms | 32840 KiB |
| doublestar2 | AC | 90 ms | 33384 KiB |
| doublestar3 | AC | 85 ms | 32524 KiB |
| doublestar4 | AC | 88 ms | 34052 KiB |
| doublestar5 | AC | 97 ms | 34084 KiB |
| doublestar6 | AC | 81 ms | 32680 KiB |
| doublestar7 | AC | 89 ms | 32620 KiB |
| example0 | AC | 13 ms | 12856 KiB |
| example1 | AC | 11 ms | 12784 KiB |
| example2 | AC | 10 ms | 12788 KiB |
| example3 | AC | 12 ms | 12964 KiB |
| example4 | AC | 15 ms | 12988 KiB |
| giri0 | AC | 113 ms | 36884 KiB |
| giri1 | AC | 122 ms | 35192 KiB |
| giri2 | AC | 117 ms | 35444 KiB |
| giri3 | AC | 117 ms | 35424 KiB |
| giri4 | AC | 130 ms | 35304 KiB |
| giri5 | AC | 123 ms | 36036 KiB |
| giri6 | AC | 122 ms | 36136 KiB |
| giri7 | AC | 122 ms | 35736 KiB |
| giri8 | AC | 113 ms | 35492 KiB |
| giri9 | AC | 111 ms | 35916 KiB |
| maxrand0 | AC | 108 ms | 35564 KiB |
| maxrand1 | AC | 106 ms | 35316 KiB |
| maxrand2 | AC | 107 ms | 35580 KiB |
| maxrand3 | AC | 109 ms | 34936 KiB |
| maxrand4 | AC | 105 ms | 34612 KiB |
| maxrand5 | AC | 104 ms | 34808 KiB |
| maxrand6 | AC | 102 ms | 34644 KiB |
| maxrand7 | AC | 107 ms | 35372 KiB |
| maxrand8 | AC | 101 ms | 34660 KiB |
| maxrand9 | AC | 105 ms | 35156 KiB |
| narashi0 | AC | 112 ms | 34820 KiB |
| narashi1 | AC | 123 ms | 34880 KiB |
| narashi2 | AC | 120 ms | 35276 KiB |
| narashi3 | AC | 116 ms | 35660 KiB |
| narashi4 | AC | 127 ms | 35228 KiB |
| narashi5 | AC | 122 ms | 35712 KiB |
| narashi6 | AC | 121 ms | 34920 KiB |
| narashi7 | AC | 119 ms | 36096 KiB |
| narashi8 | AC | 121 ms | 35808 KiB |
| narashi9 | AC | 113 ms | 35276 KiB |
| ok0 | AC | 123 ms | 41552 KiB |
| ok1 | AC | 124 ms | 42880 KiB |
| ok2 | AC | 124 ms | 41012 KiB |
| ok3 | AC | 130 ms | 43476 KiB |
| ok4 | AC | 123 ms | 39600 KiB |
| ok5 | AC | 121 ms | 41068 KiB |
| ok6 | AC | 127 ms | 40300 KiB |
| ok7 | AC | 116 ms | 39212 KiB |
| ok8 | AC | 132 ms | 42216 KiB |
| ok9 | AC | 117 ms | 40688 KiB |
| ouh0 | AC | 106 ms | 38064 KiB |
| ouh1 | AC | 103 ms | 39232 KiB |
| ouh2 | AC | 114 ms | 38332 KiB |
| ouh3 | AC | 110 ms | 39816 KiB |
| ouh4 | AC | 118 ms | 39548 KiB |
| ouh5 | AC | 118 ms | 41052 KiB |
| ouh6 | AC | 117 ms | 41900 KiB |
| ouh7 | AC | 101 ms | 38724 KiB |
| ouh8 | AC | 129 ms | 41676 KiB |
| ouh9 | AC | 122 ms | 42324 KiB |
| same0 | AC | 120 ms | 35132 KiB |
| same1 | AC | 122 ms | 35028 KiB |
| same2 | AC | 111 ms | 35492 KiB |
| same3 | AC | 107 ms | 35584 KiB |
| same4 | AC | 105 ms | 34616 KiB |
| same5 | AC | 125 ms | 34768 KiB |
| same6 | AC | 111 ms | 35028 KiB |
| same7 | AC | 129 ms | 34780 KiB |
| same8 | AC | 106 ms | 34628 KiB |
| same9 | AC | 129 ms | 35468 KiB |
| sameline0 | AC | 131 ms | 40524 KiB |
| sameline1 | AC | 138 ms | 41280 KiB |
| sameline2 | AC | 121 ms | 38484 KiB |
| sameline3 | AC | 125 ms | 39720 KiB |
| sameline4 | AC | 122 ms | 40644 KiB |
| sameline5 | AC | 137 ms | 40332 KiB |
| sameline6 | AC | 115 ms | 37524 KiB |
| sameline7 | AC | 139 ms | 40252 KiB |
| sameline8 | AC | 131 ms | 39296 KiB |
| sameline9 | AC | 129 ms | 37972 KiB |
| star0 | AC | 80 ms | 35084 KiB |
| star1 | AC | 67 ms | 35204 KiB |
| star2 | AC | 60 ms | 33412 KiB |
| star3 | AC | 75 ms | 35128 KiB |
| star4 | AC | 73 ms | 34920 KiB |
| star5 | AC | 77 ms | 35448 KiB |
| star6 | AC | 67 ms | 33796 KiB |
| star7 | AC | 75 ms | 35176 KiB |
| star8 | AC | 71 ms | 35068 KiB |
| star9 | AC | 92 ms | 35684 KiB |
| supersmall0 | AC | 11 ms | 12924 KiB |
| supersmall1 | AC | 11 ms | 12792 KiB |
| supersmall2 | AC | 13 ms | 12800 KiB |
| supersmall3 | AC | 14 ms | 12796 KiB |
| supersmall4 | AC | 10 ms | 12952 KiB |
| supersmall5 | AC | 12 ms | 12916 KiB |
| supersmall6 | AC | 12 ms | 12812 KiB |
| supersmall7 | AC | 18 ms | 12808 KiB |
| supersmall8 | AC | 13 ms | 12828 KiB |
| supersmall9 | AC | 12 ms | 12916 KiB |