Ֆայլի անվանափոխում PyTown-ում

PyTown-ի վիրտուալ աշխարհում թվային փաստաթղթերը կամ ֆայլերը պահվում են գրացուցակներում և ենթագրացուցակներում, որոնք ներկայացված են որպես ներդիր բառարաններ: Քաղաքապետի պաշտոնը զբաղեցնող CeePy-ը պատասխանատու է բոլոր փաստաթղթերը կոկիկ դասավորելու, դրանց պատշաճ ձևով անուններ տալու և հեշտությամբ հասանելի դարձնելու համար: Սակայն մի օր պարոն CeePy-ը պարզում է, որ մի շատ կարևոր ֆայլ սխալ է անվանվել, ուստի սխալը պետք է արագ ուղղել:
Անհրաժեշտ է օգնել պարոն CeePy-ին։ Ձեր խնդիրն է՝ գրել Python ռեկուրսիվ ծրագիր, որը ներդիր բառարանի գրացուցակում (directory) կփնտրի այդ ֆայլը և գտնելու դեպքում կանվանափոխի այն: Այստեղ բանալիները ներկայացնում են թղթապանակների կամ ֆայլերի անունները, իսկ արժեքները կա’մ բառարաններ են (որոնք ներկայացնում են ենթապանակներ), կա’մ տողեր (որոնք ներկայացնում են ֆայլի ընդլայնումները):
Մուտքի առաջին տողը ներդիր բառարանի կառուցվածքն է։ Այս բառարանում գրացուցակները ներկայացված են որպես բանալիներ, իսկ որպես արժեքներ ներկայացված են բառարանը կամ տողը: Տողերը ֆայլերի ընդլայնումներն են, որոնք, երբ միանում են իրենց բանալիների (ֆայլերի անունների) հետ, կազմում են ֆայլի ամբողջական անվանումը:
Մուտքի երկրորդ տողն առկա ֆայլի անունն է (իր ընդլայնմամբ), որը պետք է գտնել և վերանվանել:
Մուտքի երրորդ տողը ֆայլի նոր անունն է, որով պետք է վերանվանվի առկա ֆայլը:
Ծրագիրը պետք է վերադարձնի փոփոխված ներդիր բառարանի կառուցվածքը՝ վերանվանված ֆայլով: Եթե ֆայլը չի գտնվել գրացուցակի կառուցվածքում, ծրագիրը պետք է տպի "File not found".
Մուտք
Ելք
{"home": {"documents": {"report": ".docx", "data": ".csv", "analysis": ".txt"}, "pictures": {"beach": ".jpg", "portrait": ".png"}}, "desktop": {"important": ".pdf", "todo": ".txt"}} important.pdf urgent.pdf
{"home": {"documents": {"report": ".docx", "data": ".csv", "analysis": ".txt"}, "pictures": {"beach": ".jpg", "portrait": ".png"}}, "desktop": {"urgent": ".pdf", "todo": ".txt"}}
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue