Թաքցված խնդիր
|Այս խնդիրը թաքցված է խմբագրական խրհրդի անդամի կողմից քանի որ կամ այն ոչ ճիշտ լեզվով է գրված,|կամ թեստային տվյալներն են սխալ, կամ խնդրի ձևակերպումը պարզ չէ։|

SHLBRNT - Շարժական լաբիրինթ

Շատ դժվար ծրագրավորման խնդիրներ լուծելուց հետո, Կարենը որոշեց խաղալ գլուխկոտրուկ մի խաղ: Անհրաժեշտ է գրել ծրագիր, որը կօգնի Կարենին հեշտությամբ լուծել գլուխկոտրուկը:

Խաղը կոչվում է Շարժական Լաբիրինթ, այն խաղում են R տող և C սյուն ունեցող խաղատախտակի վրա: Խաղատախտակի ամեն վանդակի կենտրոնում կա սև կետ և հորիզոնական կամ ուղղահայաց գծեր դեպի տվյալ վանդակի հարևան վանդակները հյուսիս, հարավ, արևելք, արևմուտք ուղղություններով: Հորիզոնական և ուղղահայաց գծերը կարող են բացակայել կամ միացված լինել հարևանների մի մասին: Ձեր առաջադրանքն է տեղափոխել խաղաքարը (i1, j1) վանդակի միջնակետից մինչև (i2, j2) վանդակի միջնակետ՝ շարժվելով միայն գոյություն ունեցող հորիզոնական և ուղղահայաց գծերով:

Անհրաժեշտ է հասնել վերջնակետին մինիմալ քայլերի միջոցով, որտեղ քայլը  բաղկացած է հետևյալ երկու մասերից: Առաջին, ամեն քայլում կարելի է ընտրել որևէ վանդակ և այն պտտել 90 աստիճան ժամսլաքի կամ ժամսլաքի հակառակ ուղղությամբ: Երկրորդ, ամեն քայլում խաղաքարը կարելի է տեղափոխել ընթացիկ վանդակից հարևան վանդակ, շարժվելով միայն հորիզոնական և ուղղահայաց գծերով: Այսինքն A վանդակից կարելի է անցնել հարևան B վանդակը, եթե A-ն ունի սև գիծ միացված B-ին և հակառակը: Քայլի ընթացքում այդ երկու գործողություններից որևէ մեկը կարող է բացակայել:

Մուտք

Մուտքի առաջին տողում գրված են RC ամբողջ թվերը (1≤ RC≤ 20): Հաջորդ տողում գրված են  i1j1i2j2  թվերը, հետևյալ սահմանափակումներով՝ 1≤  i1i2 ≤  R և 1≤  j1j2≤ C:

Հաջորդ R տողերից յուրաքանչյուրը պարունակում է ճիշտ C բառ, բաժանված բացակներով, ամեն վանդակին համապատասխանեցնելով մեկ բառ ձախից աջ հերթականությամբ: Բառը ունի հետևյալ կառուցվածքը.

  • Այն պարունակում է մեկ սիմվոլ՝ x, այս դեպքում վանդակը չունի հարևաններին միացնող գծեր:
  • Կամ բառը պարունակում է N, E, S, W սիմվոլների մի մասը կամ բոլորը, որոնք համապատասպանաբար նշանակում են վանդակը միացված է գծով հյուսիս, արևելք, հարավ և արևմուտք:

Մուտքային օրինակները այնպիսին են, որ միշտ հնարավոր է (i1, j1)-ից հասնել (i2, j2) վանդակը:

Ելք

Ելքային ֆայլը պարունակում է մեկ ամբողջ թիվ՝ (i1, j1)-ից (i2, j2) վանդակը հասնելու համար անհրաժեշտ մինիմալ քայլերի քանակը:

Օրինակ

Մուտք.
4 2
1 1 4 1
E SW
x EW
NW ES
N x Ելք. 5

Մուտքային խաղատախտակի տեսքը.

 

Օրինակում օգտագործվում են հետևյալ քայլերը.

  1. Պտտել (2,2)-ը ժամսլաքի ուղղությամբ: Տեղափոխվել (1,2) վանդակը:
  2. Պտտել (3,2)-ը ժամսլաքի հակառակ ուղղությամբ: Տեղափոխվել (2,2) վանդակը:
  3. Պտտել (3,2)-ը ժամսլաքի հակառակ ուղղությամբ: Տեղափոխվել (3,2) վանդակը:
  4. Պտտել (3,1)-ը ժամսլաքի ուղղությամբ: Տեղափոխվել (3,1) վանդակը:
  5. Պտտել (3,1)-ը ժամսլաքի ուղղությամբ: Տեղափոխվել (4,1) վանդակը:

Ավելացրեց.Andreasyan
Ամսաթիվ.2014-04-27
Ժամանակի սահմանափակումը.0.5s
Ծրագրի տեքստի սահմանափակումը.50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Լեզուներ.C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3
Աղբյուրը.Հանրապետական 2014

թաքցնել մեկնաբանությունները
2014-06-30 10:28:58 Spar!k
sxal ka
2014-06-30 07:26:50 Martin
eeeee :D lav eli -_-
bayc tester@ chisht en? te sxal test ka mejner@?
2014-06-30 01:01:16 Spar!k
Martin shat mi tanjvi :D sra official lucum@ sxala. chisht lucum chuni esi.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.