Ուղարկել | Բոլոր լուծումները | Լավագույն լուծումները | Վերադառնալ ցուցակին |
ALADIN - Ալադին |
Նախքան Ալադինի արկածները սկսելը՝ նա տարբեր գույնի քարերի սիրահար էր: Մի անգամ նա
հայտնվել էր երկու կախարդական քարանձավների մոտ որոնցում կային բազմապիսի քարեր: Նրա
նպատակն էր վերցնել ինչքան հնարավոր է շատ քարեր, բայց քանի որ քարանձավը
կախարդական էր, նա պետք է ենթարկվեր որոշ կանոնների: Քարանձավներից յուրաքանչյուրը
բավարարում էր հետևյալ պայմաններին: Քարանձավը ունի ճիշտ մեկ մուտք: Քարանձավը
բաղկացած է ներքև խորացող փակ խողավականման թունելներից և թունելները իրար կապող
հանգույցներից: Երաշխավորվում է, որ ցանկացած հանգույցից կարելի է գնալ մեկ ուրիշ հանգույց
միայն մեկ ճանապարհով (այլ կերպ ասած քարանձավի հանգույցները և թունելները առաջացնում
են ծառ): Ամեն հանգույցում կա ճիշտ մեկ քար (ինչ որ գույնի): Ալադինը ունի երկու քարանձավների
քարտեզները, և այժմ նա և իր ընկերը պետք է որոշեն, թե ինչպես հավաքել մաքսիմալ
քանակությամբ քարեր՝ խուսափելով դժբախտությունից: Քանի որ քարանձավները կախարդական
էին, քարանձավում թույլատրվում է վերձնել վերևից ներքև ընթացող հաջորդական քարեր (ընդ
որում հերթականությունը կարևոր է): Բացի դրանից ցանկացած պահի, երբ առաջին քարանձավից
քար են հեռացնում նույն գույնի քար պետք է հեռացվի երկրորդ քարանձավից (իհարկե երկրորդ
քարանձավից քար հեռացնելու դեպքում հեռացված քարերը պետք է բավարարեն նախորդ
պայմանին): Այսինքն՝ ընհանուր առմամբ նրանք պետք է գտնեն ամենաերկար (հանգույցների
քանակի իմաստով) ճանապարը վերևից նեքև իջնող և հաջորդական այնպես որ նույն տիպի
(վերևից ներքև իջնող և հաջորդական) ճանապրհ լինի երկրորդ քարանձավում, ընդ որում, եթե
երկու ճանապարհներով էլ միաժամանակ իջնենք, պետք է հանդիպենք նույն գույնի քարեր, նույն
հերթականությամբ: Տե՜ս նկարը, որը համպատասխանում է օրինակին:
Այստեղ օպտիմալ ճանապարհը գծված է կանաչ գույնով: Քանի որ քարանձավները շատ մեծ էին և այդ ժամանակ դեռ չկաին հաշվիչ մեքենաներ Ալադինը այդպես էլ չհասավ իր բաղձանքին: Այժմ ձեր ժամանկն է հասել:
Մուտք
Մուտքի առաջին տողում տրված է N1, N2 համապատասխանաբար առաջին և երկրորդ քարանձավների հանգույցների քանակները: Հաջորդ տողում տրված են N1 հատ բնական թիվ,
ամեն հանգույցի գույնը (հանգույցները համարակալված են 1-ից սկսված և քարանձավի մուտքը 1-ին հանգույցում է), հաջորդ N1-1 տողերից յուրաքանչյուրը 2 իրար միացված հանգույցների
համարներ են: Նույն կերպ տրված է երկրորդ քարանձավը:
Ելք
Ելքում պետք է արտածել մի թիվ, ամենաերկար այդպիսի ճանապարհի թունելների քանակը:
Օրինակ
Մուտք. 7 6 1 2 1 3 4 5 6 1 2 1 3 2 4 4 5 5 6 5 7 2 1 3 1 4 7 1 2 1 3 2 4 3 5 6 5
Ելք. 3
Ավելացրեց. | Andreasyan |
Ամսաթիվ. | 2015-03-31 |
Ժամանակի սահմանափակումը. | 0.5s |
Ծրագրի տեքստի սահմանափակումը. | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Լեզուներ. | C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3 |
Աղբյուրը. | Õ€Õ¡Õ¶Ö€Õ¡ÕºÕ¥Õ¿Õ¡Õ¯Õ¡Õ¶ 2015 |
թաքցնել մեկնաբանությունները
2016-02-29 15:17:54 piporozi
n = 3000 |
|
2015-12-15 19:07:13 Spar!k
indz aveli shat hetaqrqrum er guyner@ maximum inchqan karan lnen |
|
2015-12-14 16:11:03 Martin
O(N1*N2) ancnuma inchqan hishumem |
|
2015-11-12 16:17:04 Spar!k
vor sahmanapakumnern el imanainq shat lav klner |