Kuningriigi jagamine
시간 제한1초메모리 제한1024 MB
N개 노드로 이루어진 트리를 같은 크기의 연결된 K개 조각으로 나누어 각 노드에 조각 번호를 붙이거나 불가능하다고 판정한다.
문제
Imperaator Informaticus III on juba üsna vana ja varsti teise ilma minemas. Tal on suur impeerium, mis koosneb linnast ja maanteest. Linnad on nummerdatud . Iga maantee ühendab omavahel kaks erinevat linna ja on teada, et igast linnast on võimalik mööda neid maanteid minna igasse teise linna.
Nii suurt impeeriumi on väga raske valitseda. Tõepoolest --- kuidas muidu oleks võimalik, et riigis on ainult maanteed? Seetõttu otsustas imperaator riigi oma lapse vahel ära jagada, mitte pärandada esmasündinule nagu teised imperaatorid.
Loomulikult peab see jaotus olema õiglane ja praktiline. Seega otsustati, et:
- Iga laps peab saama sama arvu linnu.
- Iga lapse saadav tükk peab olema sidus --- kui mingi laps saab endale linnad ja , siis peab olema võimalik mööda maanteid liikuda linnast linna nii, et kõik tee peale jäävad linnad on samuti selle lapse omad.
Sina oled õukonna ülemarvutaja ja pead leidma võimaluse riik nii ära jagada või teatama, et see ei ole võimalik. Tõsi küll --- viimasel juhul võetakse sul tõenäoliselt pea maha.
입력
Faili esimesel real on linnade arv ja laste arv (). Järgneb rida, kus kirjeldatakse riigi teedevõrku. Igal real on kaks arvu ja (, ), mis näitavad et linnade ja vahel on maantee.
출력
Faili esimesele reale kirjutada 'SAAB', kui soovitud tükeldamine on võimalik, või 'EI SAA', kui ei ole. Kui tükeldamine on võimalik, väljastada teisele reale tühikutega eraldatud täisarvu, kus kohal olev arv on selle lapse number, kes saab linna . Lapsed on nummerdatud .