Hiirelõks | 프로그래밍의 벗 PivotOJ
PivotOJ

Hiirelõks

시간 제한: 5000ms메모리 제한: 1024MB출처: EIO 2021-22 sel2BOJ 29872

문제

Elevendipoeg Dumbol on labürint, milles on NN tuba (nummerdatud 1N1 \ldots N) ja N1N - 1 neid ühendavat koridori, mida mööda on võimalik pääseda igast toast igasse teise. Kahjuks on labürindis hiir. Dumbo kardab hiiri ja pani tuppa TT üles hiirelõksu. Hiir muidugi püüab lõksu vältida ja nüüd on Dumbol vaja tema sinna ajamiseks strateegiat.

Hiir jookseb pidevalt ringi ja jääb mingisse tuppa paigale ainult siis, kui tal pole võimalik kuhugi liikuda. Kui hiir mõnest koridorist läbi jookseb, jäävad temast maha jalajäljed ja väljaheited. Sellisesse musta koridori hiir enam tagasi ei lähe. Dumbo omakorda võib kas mõne musta koridori ära puhastada või mõne koridori kividega kinni müürida. Dumbo eesmärk on hiir nende operatsioonide abil võimalikult kiiresti lõksu ajada.

Me võime kogu protsessi vaadelda kahe mängijaga mänguna, kus hiir püüab maksimeerida sammude arvu, mis Dumbol tema lõksu ajamiseks kulub ja Dumbo omakorda püüab mängu lõpetada võimalikult vähese arvu sammudega.

Dumbo võib igal oma käigul otsustada kas mõne musta koridori ära puhastada, mõne koridori kividega kinni müürida või mitte midagi teha. Kinni võib müürida nii puhtaid kui musti koridore ja kord kinni müüritud koridori enam lahti ei tehta. Dumbo sammudena loendame ainult neid käike, kui Dumbo midagi teeb.

Hiir valib igal oma käigul ühe puhta kinnimüürimata koridori ja liigub selle kaudu naabertuppa. Kui hiir on toas, millest ühtki sellist koridori välja ei lähe, ei tee ta midagi.

Alguses on kõik koridorid puhtad ja hiir toas number MM. Esimese käigu teeb Dumbo. Milline on minimaalne sammude (koridoride puhastamiste ja kinnimüürimiste) arv, millega Dumbo saab hiire lõksu ajada, kui nii Dumbo kui hiir tegutsevad optimaalse plaani järgi?

입력

Sisendi esimesel real on tubade arv NN, lõksuga toa number TT ja hiire lähtetoa number MM (1N1061 \le N \le 10^6, 1TN1 \le T \le N, 1MN1 \le M \le N). Järgmisel N1N - 1 real on igaühel kaks täisarvu AiA_i ja BiB_i (1AiN1 \le A_i \le N, 1BiN1 \le B_i \le N), mis tähendavad, et tubade AiA_i ja BiB_i vahel on koridor. Pane tähele, et sisendi maht on päris suur.

출력

Ainsale reale väljastada Dumbol hiire lõksu ajamiseks kuluvate sammude arv.

힌트

Üks võimalik stsenaarium on järgmine:

  • Dumbo müürib kinni tubade 4 ja 7 vahelise koridori.
  • Hiir läheb tuppa 6; tubade 4 ja 6 vaheline koridor on nüüd must.
  • Dumbo müürib kinni tubade 6 ja 8 vahelise koridori.
  • Hiirel pole kuhugi minna.
  • Dumbo puhastab tubade 4 ja 6 vahelise koridori.
  • Hiir läheb tuppa 4; tubade 4 ja 6 vaheline koridor on nüüd must.
  • Dumbo müürib kinni tubade 2 ja 3 vahelise koridori.
  • Hiir läheb tuppa 2; tubade 2 ja 4 vaheline koridor on nüüd must.
  • Dumbo ei tee midagi.
  • Hiirel pole minna kuhugi mujale kui tuppa 1, kus ta satub lõksu.

Dumbol kulus kokku 4 sammu.

예제

예제 1

입력
10 1 4
1 2
2 3
2 4
3 9
3 5
4 7
4 6
6 8
7 10
출력
4
코드를 제출하려면 로그인하세요.