Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à A. Íè÷åãî è íå òåðÿëîñü Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: giggle.in giggle.out 2 ñåêóíäû 64 ìåãàáàéòà Ðàçðàáîòêà íîâîé ïîèñêîâîé ñèñòåìû, êîòîðàÿ âåäåòñÿ ãðóïïîé êîìïàíèé Giggle, ïðîõîäèò ïîä ëîçóíãîì ¾Íè÷åãî è íå òåðÿëîñü¿. Âû ðàáîòàåòå â îòäåëå ïåðåäîâûõ ðàçðàáîòîê, è íà ñåãîäíÿøíèé äåíü âàøåé çàäà÷åé ÿâëÿåòñÿ ðàçðàáîòêà òåñòîâîé âåðñèè ïîèñêîâîãî ¾äâèæêà¿. Òåñòîâàÿ âåðñèÿ ðåàëèçóåò ëèøü ÷àñòü ôóíêöèîíàëüíîñòè ïîëíîé âåðñèè.  ÷àñòíîñòè, îòñóòñòâóþò òàêèå ôóíêöèè, êàê èñïîëüçîâàíèå ëîãè÷åñêèõ âûðàæåíèé â çàïðîñàõ, ïåðåâîä íàéäåííûõ ñòðàíèö ñ îäíîãî ÿçûêà íà äðóãîé è ò.ä. Âîçìîæíîñòè òåñòîâîé âåðñèè ïîèñêîâîé ñèñòåìû îãðàíè÷èâàþòñÿ îáðàáîòêîé òðåõ âèäîâ çàïðîñîâ: çàïðîñîâ íà äîáàâëåíèå, íà óäàëåíèå è íà ïîèñê. Ñèñòåìà ðàáîòàåò ñëåäóþùèì îáðàçîì.  ëþáîé ìîìåíò âðåìåíè ñóùåñòâóåò ìíîæåñòâî èçâåñòíûõ ñèñòåìå ñàéòîâ, ïðè÷åì äëÿ êàæäîãî ñàéòà èçâåñòíî ìíîæåñòâî êëþ÷åâûõ ñëîâ, âñòðå÷àþùèõñÿ íà íåì. Çàïðîñ íà äîáàâëåíèå ñîäåðæèò êëþ÷åâîå ñëîâî è íàçâàíèå ñàéòà. Ïðè åãî âûïîëíåíèè êëþ÷åâîå ñëîâî äîáàâëÿåòñÿ â ìíîæåñòâî êëþ÷åâûõ ñëîâ, ïðèñóòñòâóþùèõ íà äàííîì ñàéòå. Åñëè ýòîãî ñëîâà â ñîîòâåòñòâóþùåì ìíîæåñòâå åùå íåò, òî ðåçóëüòàòîì çàïðîñà ÿâëÿåòñÿ OK, â ïðîòèâíîì ñëó÷àå Already exists. Çàïðîñ íà óäàëåíèå ñîäåðæèò êëþ÷åâîå ñëîâî è íàçâàíèå ñàéòà. Ïðè åãî âûïîëíåíèè êëþ÷åâîå ñëîâî èñêëþ÷àåòñÿ èç ìíîæåñòâà êëþ÷åâûõ ñëîâ, ïðèñóòñòâóþùèõ íà äàííîì ñàéòå. Åñëè ýòîãî ñëîâà â ñîîòâåòñòâóþùåì ìíîæåñòâå íåò, òî ðåçóëüòàòîì çàïðîñà ÿâëÿåòñÿ Not found, â ïðîòèâíîì ñëó÷àå OK. Çàïðîñ íà ïîèñê ñîäåðæèò òîëüêî êëþ÷åâîå ñëîâî. Ðåçóëüòàòîì çàïðîñà ÿâëÿåòñÿ ëåêñèêîãðàôè÷åñêè îòñîðòèðîâàííûé ñïèñîê ñàéòîâ, ñîäåðæàùèõ äàííîå êëþ÷åâîå ñëîâî. Ïðè ýòîì â ðåçóëüòàò âûâîäÿòñÿ òîëüêî ïåðâûå 10 ñàéòîâ èç ýòîãî ñïèñêà. Çàäàí ñïèñîê çàïðîñîâ. Íåîáõîäèìî âûâåñòè ðåçóëüòàò èõ ïîñëåäîâàòåëüíîãî âûïîëíåíèÿ. Ôîðìàò âõîäíîãî ôàéëà Ïåðâàÿ ñòðîêà âõîäíîãî ôàéëà ñîäåðæèò öåëîå ÷èñëî n êîëè÷åñòâî çàïðîñîâ, êîòîðûå íåîáõîäèìî îáðàáîòàòü (0 ≤ n ≤ 2500). Êàæäàÿ èç ïîñëåäóþùèõ n ñòðîê ñîäåðæèò çàïðîñ. Çàïðîc íà äîáàâëåíèå èìååò ñëåäóþùèé ôîðìàò: Add keyword <keyword> to <site>, ãäå <keyword> êëþ÷åâîå ñëîâî <site> íàçâàíèå ñàéòà, íà êîòîðîì ïîÿâèëîñü ýòî êëþ÷åâîå ñëîâî. Çàïðîc íà óäàëåíèå èìååò ñëåäóþùèé ôîðìàò: Remove keyword <keyword> from <site>, ãäå <keyword> êëþ÷åâîå ñëîâî <site> íàçâàíèå ñàéòà, íà êîòîðîì ïîÿâèëîñü ýòî êëþ÷åâîå ñëîâî. Çàïðîc íà ïîèñê èìååò ñëåäóþùèé ôîðìàò: Search <keyword>, ãäå <keyword> êëþ÷åâîå ñëîâî. Âñå êëþ÷åâûå ñëîâà (<keyword>) ñîñòîÿò èç ñòðî÷íûõ áóêâ ëàòèíñêîãî àëôàâèòà. Äëèíû êëþ÷åâûõ ñëîâ íå ïðåâîñõîäÿò 30 ñèìâîëîâ. Âñå íàçâàíèÿ ñàéòîâ (<site>) ñîñòîÿò èç ñòðî÷íûõ áóêâ ëàòèíñêîãî àëôàâèòà, ñèìâîëîâ ¾êîñàÿ ÷åðòà¿ (¾/¿) è òî÷åê (¾.¿). Äëèíû íàçâàíèé ñàéòîâ íå ïðåâîñõîäÿò 100 ñèìâîëîâ. Ôîðìàò âûõîäíîãî ôàéëà Äëÿ êàæäîãî çàïðîñà âûâåäèòå åãî ðåçóëüòàò. Ïðè ýòîì ïðèäåðæèâàéòåñü ôîðìàòà, ïðèâåäåííîãî â ïðèìåðàõ. Íå çàáóäüòå îáðàòèòü âíèìàíèå íà âòîðîé ïðèìåð. Ðåçóëüòàòû çàïðîñîâ ðàçäåëÿéòå ñòðîêîé èç ïÿòè ñèìâîëîâ ¾ðàâíî¿ (¾=¿). Ñòðàíèöà 1 èç 10 Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Ïðèìåðû giggle.in 12 Add keyword "olympiads" to neerc.ifmo.ru/school/io Add keyword "neerc" to neerc.ifmo.ru Search "olympiads" Search "neerc" Add keyword "olympiads" to neerc.ifmo.ru Search "olympiads" Add keyword "olympiads" to neerc.ifmo.ru/school/io Remove keyword "olympiads" from neerc.ifmo.ru/school/io Search "olympiads" Remove keyword "olymp" from neerc.ifmo.ru Remove keyword "olympiads" from neerc.ifmo.ru Search "olympiads" OK ===== OK ===== Results: 1 site(s) found 1) neerc.ifmo.ru/school/io ===== Results: 1 site(s) found 1) neerc.ifmo.ru ===== OK ===== Results: 2 site(s) found 1) neerc.ifmo.ru 2) neerc.ifmo.ru/school/io ===== Already exists ===== OK ===== Results: 1 site(s) found 1) neerc.ifmo.ru ===== Not found ===== OK ===== Results: 0 site(s) found giggle.out Ñòðàíèöà 2 èç 10 Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. 12 Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Add keyword "keyword" Search "keyword" giggle.in to to to to to to to to to to to OK ===== OK ===== OK ===== OK ===== OK ===== OK ===== OK ===== OK ===== OK ===== OK ===== OK ===== Results: 11 site(s) found 1) site01 2) site02 3) site03 4) site04 5) site05 6) site06 7) site07 8) site08 9) site09 10) site10 site01 site02 site03 site04 site05 site06 site07 site08 site09 site10 site11 giggle.out Ñòðàíèöà 3 èç 10 Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à B. Ìàôèÿ â ãîðîäå Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: mafia.in mafia.out 2 ñåêóíäû 64 ìåãàáàéòà Îá ýòîì åùå íèêòî íå çíàåò, íî ìíîãèå äîãàäûâàþòñÿ ìàôèÿ óæå â ãîðîäå. Ïîãîâàðèâàþò, ÷òî â ïëàíàõ ãëàâû ìàôèîçíîãî êëàíà çàõâàò êîíòðîëÿ íàä âñåì ãîðîäîì, îäíàêî ïîíà÷àëó îí ðåøèë îãðàíè÷èòüñÿ çàõâàòîì îñíîâíûõ ëèíèé ñâÿçè ãîðîäà.  ãîðîäå íàõîäÿòñÿ n áàçîâûõ òåëåôîííûõ ñòàíöèé, íåêîòîðûå ïàðû êîòîðûõ ñîåäèíåíû äâóñòîðîííèìè êàíàëàìè ñâÿçè. Äëÿ óäîáñòâà, çàíóìåðóåì áàçîâûå ñòàíöèè öåëûìè ÷èñëàìè îò 1 äî n, êàíàë ñâÿçè â ýòîì ñëó÷àå çàäàåòñÿ ïàðîé ÷èñåë (u, v ) íîìåðàìè ñòàíöèé, êîòîðûå îí ñîåäèíÿåò. Áóäåì ãîâîðèòü, ÷òî êàíàë ñâÿçè (u, v ) êîíòðîëèðóåòñÿ ìàôèåé, åñëè çàõâà÷åíà ëèáî ñòàíöèÿ u, ëèáî ñòàíöèÿ v (ëèáî îáå). Ãëàâà ìàôèîçíîãî êëàíà õî÷åò êîíòðîëèðîâàòü âñå êàíàëû ñâÿçè, çàõâàòèâ ïðè ýòîì êàê ìîæíî ìåíüøå áàçîâûõ ñòàíöèé. Âàøà çàäà÷à ïîìî÷ü ñëóæáå áåçîïàñíîñòè òåëåôîííîé êîìïàíèè, ñîñòàâèâ âîçìîæíûé ïëàí çàõâàòà è îïðåäåëèâ êîëè÷åñòâî òàêèõ ïëàíîâ. Ôîðìàò âõîäíîãî ôàéëà Ïåðâàÿ ñòðîêà âõîäíîãî ôàéëà ñîäåðæèò äâà öåëûõ ÷èñëà: n è m (2 ≤ n ≤ 18, 0 ≤ m). Êàæäàÿ èç ïîñëåäóþùèõ m ñòðîê îïèñûâàåò îäèí êàíàë ñâÿçè è ñîäåðæèò ïî äâà öåëûõ ÷èñëà: u è v (1 ≤ u, v ≤ n, u 6= v ) íîìåðà áàçîâûõ ñòàíöèé, ñîåäèíåííûõ ýòèì êàíàëîì ñâÿçè. Ëþáàÿ ïàðà ñòàíöèé ñîåäèíåíà íå áîëåå, ÷åì îäíèì êàíàëîì. Ôîðìàò âûõîäíîãî ôàéëà  ïåðâîé ñòðîêå âõîäíîãî ôàéëà âûâåäèòå äâà ÷èñëà: k è c ñîîòâåòñòâåííî, ìèíèìàëüíîå êîëè÷åñòâî áàçîâûõ ñòàíöèé, êîòîðûå íåîáõîäèìî çàõâàòèòü äëÿ òîãî, ÷òîáû êîíòðîëèðîâàòü âñå êàíàëû ñâÿçè, è ÷èñëî ñïîñîáîâ çàõâàòèòü òàêîå êîëè÷åñòâî ñòàíöèé, òàê ÷òîáû êîíòðîëèðîâàòü âñå êàíàëû ñâÿçè. Âî âòîðîé ñòðîêå âõîäíîãî ôàéëà âûâåäèòå k ÷èñåë íîìåðà áàçîâûõ ñòàíöèé, ñîîòâåòñòâóþùèõ îäíîìó èç ñïîñîáîâ çàõâàòà. Ïðèìåðû 3 1 2 3 5 1 1 1 1 3 2 3 1 4 2 3 4 5 mafia.in 2 3 1 2 mafia.out 1 1 1  ïåðâîì ïðèìåðå ñóùåñòâóåò òðè ñïîñîáà çàõâàòèòü äâå ñòàíöèè òàê, ÷òîáû êîíòðîëèðîâàòü âñå êàíàëû ñâÿçè: {1, 2}, {1, 3}, {2, 3}. Ñòðàíèöà 4 èç 10 Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à C. Òðóáû Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: pipe.in pipe.out 2 ñåêóíäû 64 ìåãàáàéòà Äëÿ ïîääåðæàíèÿ òåìïåðàòóðû è ÷èñòîòû âîäû â áàññåéí ïîñòîÿííî íàëèâàþò íîâóþ âîäó è âûëèâàþò ñòàðóþ. Èíîãäà ýòî ïðîèñõîäèò îäíîâðåìåííî. Ñîòðóäíèêè áàññåéíà ñîñòàâèëè ïëàí íàëèâà/ñëèâà âîäû.  ïëàíå ïåðå÷èñëåíû íàïîð ñëèâà/íàëèâà âîäû è èíòåðâàë âðåìåíè, â êîòîðîå îí áóäåò ïðîèñõîäèòü. Âîäà ìîæåò âûëèâàòüñÿ (à òàê æå íàëèâàòüñÿ) îäíîâðåìåííî èç íåñêîëüêèõ òðóá. Íåîáõîäèìî óçíàòü îáúåì âîäû â áàññåéíà ÷åðåç çàäàííîå âðåìÿ T . Ñòîèò çàìåòèòü, ÷òî âîäà íå ìîæåò âûëèâàòüñÿ èç ïóñòîãî áàññåéíà. Ôîðìàò âõîäíîãî ôàéëà  ïåðâîé ñòðîêå çàïèñàíî öåëîå ÷èñëî N êîëè÷åñòâî çàïèñåé â ïëàíå (1 ≤ N ≤ 1000). Äàëåå ñëåäóåò N ñòðîê, ñîäåðæàùèõ ïî òðè öåëûõ ÷èñëà li , ri è vi íà÷àëî ðàáîòû òðóáû, êîíåö ðàáîòû òðóáû è íàïîð, ñ êîòîðîé âîäà ïîñòóïàåò â áàññåéí (îáúåì âîäû, ïîñòóïàþùèé â áàññåéí çà åäèíèöó âðåìåíè). Åñëè íàïîð îòðèöàòåëåí, òî âîäà âûòåêàåò èç áàññåéíà (0 ≤ li , ri , |vi | ≤ 1000, li ≤ ri ).  ïîñëåäíåé ñòðîêå çàïèñàíî öåëîå ÷èñëî T âðåìÿ, ÷åðåç êîòîðîå íåîáõîäèìî îïðåäåëèòü îáúåì âîäû â áàññåéíå (0 ≤ T ≤ 10000). Ôîðìàò âûõîäíîãî ôàéëà  âûõîäíîé ôàéë âûâåäèòå îòâåò íà çàäà÷ó îáúåì âîäû â áàññåéíå ÷åðåç âðåìÿ T , åñëè èçíà÷àëüíî áàññåéí ïóñò. Ïðèìåðû 3 0 10 1 5 10 1 10 15 -1 100 3 0 10 1 5 10 1 10 15 -1 10 3 0 10 -10 5 10 1 10 15 1 15 pipe.in 10 15 5 Ñòðàíèöà 5 èç 10 pipe.out Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à D. Íåñëîæíàÿ ñîðòèðîâêà Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: sort.in sort.out 2 ñåêóíäû 64 ìåãàáàéòà Ïóñòü x öåëîå ïîëîæèòåëüíîå ÷èñëî, à k öåëîå ïîëîæèòåëüíîå ÷èñëî îò 1 äî 10. Ïóñòü s(x, k) ðàâíî ñóììå öèôð ÷èñëà x, ïðåäñòàâëåííîãî â ñèñòåìå ñ÷èñëåíèÿ ïî îñíîâàíèþ k . Çàäàíî n ÷èñåë a1 , a2 , . . ., an . Íåîáõîäèìî âû÷èñëèòü ïîñëåäîâàòåëüíîñòü bi ïî ôîðìóëå bi = s(ai , k1 ) · s(ai , k2 ), ïîñëå ÷åãî îòñîðòèðîâàòü ïîñëåäîâàòåëüíîñòü bi ïî íåóáûâàíèþ. Ôîðìàò âõîäíîãî ôàéëà Ïåðâàÿ ñòðîêà âõîäíîãî ôàéëà ñîäåðæèò òðè öåëûõ ÷èñëà: n, k1 , k2 (1 ≤ n ≤ 1000, 2 ≤ k1 , k2 ≤ 10). Âòîðàÿ ñòðîêà âõîäíîãî ôàéëà ñîäåðæèò n öåëûõ ÷èñåë: ai (1 ≤ ai ≤ 109 ). Ôîðìàò âûõîäíîãî ôàéëà  âûõîäíîé ôàéë âûâåäèòå n ÷èñåë bi â òðåáóåìîì ïîðÿäêå. Ïðèìåðû sort.in 9 10 10 1 2 3 4 5 6 7 9 8 10 2 2 1 2 4 8 16 32 64 128 256 512 sort.out 1 4 9 16 25 36 49 64 81 1 1 1 1 1 1 1 1 1 1 Ñòðàíèöà 6 èç 10 Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à E. Ñòðîêè Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: strings.in strings.out 2 ñåêóíäû 64 ìåãàáàéòà Îïðåäåëèì ðàññòîÿíèå ìåæäó ðàâíûìè ïî äëèíå ñòðîêàìè SA è SB (îáîçíà÷èì d(SA , SB )) êàê ñóììó äëÿ âñåõ 1 ≤ i ≤ |SA | êðàò÷àéøèõ ðàññòîÿíèé ìåæäó áóêâàìè SA (i) è SB (i) â öèêëè÷åñêè çàìêíóòîì ëàòèíñêîì àëôàâèòå (ò.å. ïîñëå áóêâû ¾a¿ èäåò áóêâà ¾b¿, . . ., ïîñëå áóêâû ¾z¿ èäåò ¾a¿). Íàïðèìåð d(aba, aca) = 1, à d(aba, zbz) = 2. Íàïîìíèì, ÷òî öèêëè÷åñêèì ñäâèãîì ñòðîêè S íàçûâàåòñÿ ñòðîêà (îáîçíà÷àìèì, êàê S ,→ k ) Sk Sk+1 Sk+2 ...S|S| S1 S2 ...Sk−1 äëÿ íåêîòîðîãî k , ãäå |S| äëèíà ñòðîêè S . Ñòåïåíüþ öèêëè÷åñêîãî ðàññòîÿíèÿ ìåæäó ñòðîêàìè SA è SB (|SA | = |SB |) íàçûâàåòñÿ ñóììà: |SA | |SB | XX d(SA ,→ i, SB ,→ j) i=1 j=1 Âàøà çàäà÷à ïîñ÷èòàòü còåïåíü öèêëè÷åñêîãî ðàññòîÿíèÿ çàäàííûõ ñòðîê SA è SB . Ôîðìàò âõîäíîãî ôàéëà  ïåðâîé è âòîðîé ñòðîêå ðàñïîëîæåíû äâå ñòðîêè ðàâíîé äëèíû, íå ïðåâûøàþùåé 100000 ñèìâîëîâ. Ñòðîêè ñîñòîÿò òîëüêî èç ìàëåíüêèõ áóêâ ëàòèíñêîãî àëôàâèòà. Ôîðìàò âûõîäíîãî ôàéëà  âûõîäíîé ôàéë âûâåäèòå îòâåò íà çàäà÷ó. Ïðèìåðû strings.in strings.out a 1 b ab 8 ac Ðàçáåðåì âòîðîé ïðèìåð. Âñå öèêëè÷åñêèå ñäâèãè ñòðîêè ¾ab¿ ¾ab¿ è ¾ba¿. Âñå öèêëè÷åñêèå ñäâèãè ñòðîêè ¾ac¿ ¾ac¿ è ¾ca¿. Èñêîìîå çíà÷åíèå ðàâíî d(ab, ac) + d(ab, ca) + d(ba, ac) + d(ba, ca) = 1 + 3 + 3 + 1 = 8 Ñòðàíèöà 7 èç 10 Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à F. Ñâåðõñòåïåíü Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: superpow.in superpow.out 2 ñåêóíäû 64 ìåãàáàéòà n Íàçîâåì çíà÷åíèå âûðàæåíèÿ 22 n-îé ñâåðõñòåïåíüþ ÷èñëà 2. 3 Òàêèì îáðàçîì, íàïðèìåð, òðåòüÿ ñâåðõñòåïåíü ÷èñëà 2 ðàâíà 22 = 28 = 256. Âàøà çàäà÷à âû÷èñëèòü n-óþ ñâåðõñòåïåíü äâîéêè ïî ìîäóëþ m. Ôîðìàò âõîäíîãî ôàéëà Âõîäíîé ôàéë ñîäåðæèò äâà öåëûõ ÷èñëà: n (0 ≤ n ≤ 105 ) è m (2 ≤ m ≤ 104 ). Ôîðìàò âûõîäíîãî ôàéëà  âûõîäíîé ôàéë âûâåäèòå îòâåò íà çàäà÷ó. Ïðèìåðû 3 1000 10 10 superpow.in 256 6 Ñòðàíèöà 8 èç 10 superpow.out Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à G. Îò ïåðåñòàíîâêè ÷èñåë ÷òî-òî ìåíÿåòñÿ . . . Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: swap.in swap.out 2 ñåêóíäû 64 ìåãàáàéòà Âñåì èçâåñòíî, ÷òî ¾îò ïåðåñòàíîâêè ñëàãàåìûõ ñóììà íå èçìåíÿåòñÿ¿. Îäíàêî, ñëó÷àåòñÿ è òàê, ÷òî ïåðåñòàíîâêà äâóõ ÷èñåë ïðèâîäèò ê áîëåå èíòåðåñíûì ïîñëåäñòâèÿì. Ïóñòü, íàïðèìåð, çàäàíû òðè ÷èñëà: a1 , a2 , a3 . Ðàññìîòðèì ðàâåíñòâî a1 + a2 = a3 . Îíî ìîæåò áûòü íå âåðíûì (íàïðèìåð, åñëè a1 = 1, a2 = 4, a3 = 3), îäíàêî ìîæåò ñòàòü âåðíûì, åñëè ïîìåíÿòü íåêîòîðûå ÷èñëà ìåñòàìè (íàïðèìåð, åñëè ïîìåíÿòü ìåñòàìè a2 è a3 , îíî îáðàòèòüñÿ â ðàâåíñòâî 1 + 3 = 4). Âàøà çàäà÷à ïî çàäàííûì òðåì ÷èñëàì îïðåäåëèòü, ìîæíî ëè èõ ïåðåñòàâèòü òàê, ÷òîáû ñóììà ïåðâûõ äâóõ ðàâíÿëàñü òðåòüåìó. Ôîðìàò âõîäíîãî ôàéëà Âõîäíîé ôàéë ñîäåðæèò òðè öåëûõ ÷èñëà: a1 , a2 , a3 (−108 ≤ a1 , a2 , a3 ≤ 108 ). Ôîðìàò âûõîäíîãî ôàéëà  âûõîäíîé ôàéë âûâåäèòå ñëîâî YES, åñëè çàäàííûå ÷èñëà ìîæíî ïåðåñòàâèòü òàê, ÷òîáû ñóììà ïåðâûõ äâóõ ðàâíÿëàñü òðåòüåìó.  ïðîòèâíîì ñëó÷àå âûâåäèòå â âûõîäíîé ôàéë ñëîâî NO. Ïðèìåðû 3 5 2 2 2 5 2 2 4 swap.in YES NO YES Ñòðàíèöà 9 èç 10 swap.out Öèêë Èíòåðíåò-îëèìïèàä äëÿ øêîëüíèêîâ, ñåçîí 2006-2007 Âîñüìàÿ îëèìïèàäà, áàçîâûé óðîâåíü. 3 ôåâðàëÿ 2007 ãîäà. Çàäà÷à H. Òðåóãîëüíèê Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: triangle.in triangle.out 2 ñåêóíäû 64 ìåãàáàéòà Ïóñòü íà ïëîñêîñòè ââåäåíà ïðÿìîóãîëüíàÿ äåêàðòîâà ñèñòåìà êîîðäèíàò è çàäàí òðåóãîëüíèê ABC : A(xA , yA ), B(xB , yB ), C(xC , yC ). Öåíòðîì ìàññ òðåóãîëüíèêà íàçîâåì òî÷êó ñ êîîðäèíàòàìè ((xA + xB + xC )/3, (yA + yB + yC )/3). Çàäàíû êîîðäèíàòû öåíòðà ìàññ òðåóãîëüíèêà ABC . Íåîáõîäèìî íàéòè êîîðäèíàòû âåðøèí òðåóãîëüíèêà ABC , óäîâëåòâîðÿþùèå óñëîâèÿì: • êîîðäèíàòû âåðøèí öåëûå; • êîîðäèíàòû âåðøèí íå ïðåâîñõîäÿò ïî ìîäóëþ 109 ; • òðåóãîëüíèê ABC èìååò íåíóëåâóþ ïëîùàäü. Ôîðìàò âõîäíîãî ôàéëà Âõîäíîé ôàéë ñîäåðæèò äâà öåëûõ ÷èñëà: x è y (−109 ≤ x, y ≤ 109 ) êîîðäèíàòû çàäàííîé òî÷êè. Ôîðìàò âûõîäíîãî ôàéëà  ïåðâîé ïåðâîé ñòðîêå âõîäíîãî ôàéëà âûâåäèòå ñëîâî YES, åñëè èñêîìûé òðåóãîëüíèê ñóùåñòâóåò, è ñëîâî NO â ïðîòèâíîì ñëó÷àå. Åñëè îòâåò ïîëîæèòåëåí, òî â ïîñëåäóþùèõ òðåõ ñòðîêàõ âûâåäèòå êîîðäèíàòû âåðøèí èñêîìîãî òðåóãîëüíèêà. Åñëè îòâåò íåîäíîçíà÷åí, âûâåäèòå ëþáîé. Ïðèìåðû 9 4 triangle.in YES 3 9 6 3 18 0 Ñòðàíèöà 10 èç 10 triangle.out