Ուղարկել | Բոլոր լուծումները | Լավագույն լուծումները | Վերադառնալ ցուցակին |
ROPES - Օղակներ և պարաններ |
Հաքիմին ունի N հատ օղակ, որոնք նա համարակալել է 1-ից N թվերով: Նա նաև ունի N-1 հատ պարան և ցանկանում է այդ պարանները օգտագործել հետևյալ նպատակով:
Նա կարող է վերցնել ցանկացած երկու տարբեր օղակ և իրար միացնել պարանով (օղակները միացվում են պարանի ծայրերին):
Վերջում բոլոր օղակները պետք է լինեն կապակցված (ցանկացած երկու օղակ պետք է միացված լինեն անմիջապես պարանով կամ ինչ-որ հաջորդական պարանների միջոցով): Այսինքն՝ այն պետք է ունենա ծառի կառուցվածք:
i-րդ օղակին պետք է անմիջապես միացված լինեն ճիշտ ai պարաններ:
Ձեր խնդիրն է հաշվել՝ քանի եղանակով է հնարավոր միացնել օղակները պարաններով, որ բավարարվեն վերևի երեք պայմանները (ըստ 109+7 մոդուլի):
Մուտք
Առաջին տողը պարունակում է N բնական թիվը (2≤N≤105): Հաջորդ N տողերից i-րդը պարունակում է մեկ ամբողջ թիվ՝ ai -ն (1≤ai≤3): Թեստերի 50%-ում N≤1000:
Ելք
Ելքում պետք է արտածել այդ քանակի 109+7 -ի վրա բաժանելուց ստացված մնացորդը (ոչ բացասական ամբողջ թիվ):
Օրինակ
Մուտք.
9
Ելք. 1260
1
3
2
1
3
1
2
1
2
Ավելացրեց. | Andreasyan |
Ամսաթիվ. | 2016-03-02 |
Ժամանակի սահմանափակումը. | 1s |
Ծրագրի տեքստի սահմանափակումը. | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Լեզուներ. | C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3 |
Աղբյուրը. | Մարզային 2016 |