Êðóæîê îáó÷åíèÿ ìàñòåðñòâó ïðîãðàììèðîâàíèÿ ïðè ÑÏáÃÓ, ãðóïïà A1 Ïÿòîå çàíÿòèå: âñåãî ïîíåìíîãó, ñðåäà, 21 îêòÿáðÿ 2009 ãîäà Çàäà÷à A. ABC-ñòðîêà ïî íîìåðó Èìÿ âõîäíîãî ôàéëà: abcstring.in abcstring.out Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 Ìåáèáàéò  ýòîé çàäà÷å ìû áóäåì ðàññìàòðâàòü çàìîùåíèÿ ïðÿìîóãîëüíèêà 1 × n ïëèòêàìè ðàçìåðîâ 1 × 3, 1 × 2 è 1 × 1. Çàïèñûâàòü çàìîùåíèå ìîæíî â âèäå ñòðîêè èç n ñèìâîëîâ: åñëè k -ÿ êëåòêà ïîêðûòà ïëèòêîé ðàçìåðà 1 × 3, òî k -é áóêâîé ñòðîêè áóäåò `a', åñëè ïëèòêîé ðàçìåðà 1 × 2, òî `b', à åñëè ïëèòêîé ðàçìåðà 1×1, òî `c'. Íàïðèìåð, åñëè ïðÿìîóãîëüíèê 1 × 7 çàìîñòèòü ïëèòêàìè 1 × 3, 1 × 2, 1 × 1 è 1 × 1 â óêàçàííîì ïîðÿäêå, òî çàïèñûâàòü ýòî çàìîùåíèå ìû áóäåì ñòðîêîé aaabbcc. Î÷åâèäíî, òàêàÿ çàïèñü îäíîçíà÷íî ñîîòâåòñòâóåò çàìîùåíèþ. Äëÿ äàííîãî n ðàññìîòðèì çàïèñè âñåõ çàìîùåíèé ïðÿìîóãîëüíèêà 1 × n è óïîðÿäî÷èì èõ ëåêñèêîãðàôè÷åñêè ïî âîçðàñòàíèþ. Âûâåäèòå çàïèñü k -ãî â ýòîì ïîðÿäêå çàìîùåíèÿ. Çàìîùåíèÿ íóìåðóþòñÿ, íà÷èíàÿ ñ åäèíèöû. Ôîðìàò âõîäíûõ äàííûõ  ïåðâîé ñòðîêå âõîäíîãî ôàéëà çàäàíû äâà öåëûõ ÷èñëà n è k ÷åðåç ïðîáåë äëèíà ñòðîêè è íîìåð òðåáóåìîãî çàìîùåíèÿ, ñîîòâåòñòâåííî (1 6 n 6 35). Ãàðàíòèðóåòñÿ, ÷òî çàìîùåíèå ñ íîìåðîì k ñóùåñòâóåò. Ôîðìàò âûõîäíûõ äàííûõ  ïåðâîé ñòðîêå âûõîäíîãî ôàéëà âûâåäèòå ñòðîêó, ñîñòîÿùóþ èç áóêâ `a', `b' è `c' çàïèñü k -ãî çàìîùåíèÿ ïðÿìîóãîëüíèêà 1 × n. Ïðèìåðû 3 2 7 3 abcstring.in abcstring.out bbc aaabbcc Çàäà÷à B. Íîìåð ïî ABC-ñòðîêå Èìÿ âõîäíîãî ôàéëà: abcstringr.in Èìÿ âûõîäíîãî ôàéëà: abcstringr.out Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 Ìåáèáàéò  ýòîé çàäà÷å ìû áóäåì ðàññìàòðâàòü çàìîùåíèÿ ïðÿìîóãîëüíèêà 1 × n ïëèòêàìè ðàçìåðîâ 1 × 3, 1 × 2 è 1 × 1. Çàïèñûâàòü çàìîùåíèå ìîæíî â âèäå ñòðîêè èç n ñèìâîëîâ: åñëè k -ÿ êëåòêà ïîêðûòà ïëèòêîé ðàçìåðà 1 × 3, òî k -é áóêâîé ñòðîêè áóäåò `a', åñëè ïëèòêîé ðàçìåðà 1 × 2, òî `b', à åñëè ïëèòêîé ðàçìåðà 1×1, òî `c'. Íàïðèìåð, åñëè ïðÿìîóãîëüíèê 1 × 7 çàìîñòèòü ïëèòêàìè 1 × 3, 1 × 2, 1 × 1 è 1 × 1 â óêàçàííîì ïîðÿäêå, òî çàïèñûâàòü ýòî çàìîùåíèå ìû áóäåì ñòðîêîé aaabbcc. Î÷åâèäíî, òàêàÿ çàïèñü îäíîçíà÷íî ñîîòâåòñòâóåò çàìîùåíèþ. Äëÿ äàííîãî n ðàññìîòðèì çàïèñè âñåõ çàìîùåíèé ïðÿìîóãîëüíèêà 1 × n è óïîðÿäî÷èì èõ ëåêñèêîãðàôè÷åñêè ïî âîçðàñòàíèþ. Ïî äàííîé çàïèñè çàìîùåíèÿ íàéäèòå åãî íîìåð â ýòîì ïîðÿäêå. Çàìîùåíèÿ íóìåðóþòñÿ, íà÷èíàÿ ñ åäèíèöû. Ôîðìàò âõîäíûõ äàííûõ  ïåðâîé ñòðîêå âõîäíîãî ôàéëà çàäàíà çàïèñü çàìîùåíèÿ. Îíà ñîñòîèò òîëüêî èç ñèìâîëîâ `a', `b' è `c', à å¼ äëèíà ëåæèò â ïðåäåëàõ îò 1 äî 35 ñèìâîëîâ. Ãàðàíòèðóåòñÿ, ÷òî äàííàÿ çàïèñü çàìîùåíèÿ êîððåêòíà. Ôîðìàò âûõîäíûõ äàííûõ  ïåðâîé ñòðîêå âûõîäíîãî ôàéëà âûâåäèòå îäíî ÷èñëî íîìåð äàííîãî çàìîùåíèÿ ñðåäè âñåõ çàìîùåíèé ïðÿìîóãîëüíèêà 1 × n, ãäå n äëèíà çàïèñè ýòîãî çàìîùåíèÿ. Ïðèìåðû abcstringr.in bbc aaabbcc 2 3 abcstringr.out Çàäà÷à C. Øåëêîïðÿäû Èìÿ âõîäíîãî ôàéëà: bombyx.in Èìÿ âûõîäíîãî ôàéëà: bombyx.out Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 Ìåáèáàéò Áèîëîã Þëÿ èçó÷àåò è êëàññèôèöèðóåò øåëêîïðÿäîâ. Êàæäûé øåëêîïðÿä õàðàêòåðèçóåòñÿ êîëè÷åñòâîì ïÿòíûøåê íà òåëå, à òàêæå êîëè÷åñòâîì øèøå÷åê íà ãîëîâå; êðîìå òîãî, ïÿòíûøêè è øèøå÷êè îáðàçóþò ðàçëè÷íûå ðèñóíêè. Âíèìàòåëüíî èçó÷èâ øåëêîïðÿäîâ ñ íåáîëüøèì êîëè÷åñòâîì ïÿòíûøåê è øèøå÷åê, Þëÿ ïðèøëà ê âûâîäó, ÷òî äëÿ ëþáûõ n è k êîëè÷åñòâî ðàçëè÷íûõ ðèñóíêîâ, êîòîðûå ìîæíî íàáëþäàòü íà øåëêîïðÿäå ñ n ïÿòíûøêàìè è k øèøå÷êàìè, êîíå÷íî. Þëÿ ðåøèëà îáîçíà÷èòü ýòî êîëè÷åñòâî êàê f (n, k). Ïðèñòóïèâ ê èçó÷åíèþ øåëêîïðÿäîâ ñ áî ëüøèì ÷èñëîì ïÿòíûøåê è øèøå÷åê, Þëÿ îáíàðóæèëà, ÷òî óæå íå âñåãäà ìîæåò ñêàçàòü, ÷òî âèäåëà âñå ðàçëè÷íûå ðèñóíêè íà øåëêîïðÿäàõ ñ òàêèìè õàðàêòåðèñòèêàìè. ×òîáû áûòü óâåðåííîé, ÷òî íè îäèí ðèñóíîê íå óñêîëüçíóë îò å¼ âíèìàíèÿ, îíà ðåøèëà âûâåñòè çàêîíîìåðíîñòü äëÿ ÷èñåë f (n, k). Îáîáùàÿ ïîëó÷åííûå äàííûå, Þëÿ âûäâèíóëà ñëåäóþùóþ ãèïîòåçó: 0, n < 0 èëè k < 0 1, k=0 f (n, k) = k P f (n − 2k − i, 2i) â îñòàëüíûõ ñëó÷àÿõ i=0 Íàïèøèòå ïðîãðàììó, êîòîðàÿ ïî çàäàííûì çíà÷åíèÿì n è k áóäåò âû÷èñëÿòü f (n, k) â ñîîòâåòñòâèè ñ ýòîé ãèïîòåçîé. Åñëè çíà÷åíèå f (n, k) áóäåò ñëèøêîì âåëèêî, Þëÿ áóäåò èñïîëüçîâàòü äëÿ ïðîâåðêè òîëüêî åãî ïîñëåäíèå äåâÿòü öèôð, ïîýòîìó îòâåò ñëåäóåò âûâîäèòü ïî ìîäóëþ 109 . Ôîðìàò âõîäíûõ äàííûõ  ïåðâîé ñòðîêå âõîäíîãî ôàéëà çàäàíû äâà öåëûõ ÷èñëà n è k ÷åðåç ïðîáåë êîëè÷åñòâî ïÿòíûøåê è øèøå÷åê (0 6 n, k 6 4000). Ôîðìàò âûõîäíûõ äàííûõ  ïåðâîé ñòðîêå âûõîäíîãî ôàéëà âûâåäèòå îäíî ÷èñëî f (n, k) êîëè÷åñòâî ðàçëè÷íûõ ðèñóíêîâ, êîòîðûå ìîæíî íàáëþäàòü íà øåëêîïðÿäå ñ n ïÿòíûøêàìè è k øèøå÷êàìè ñîãëàñíî Þëèíîé ãèïîòåçå, ïî ìîäóëþ 109 . Ïðèìåðû 1 0 1 1 Ñòðàíèöà 1 èç 2 bombyx.in 1 0 bombyx.out Êðóæîê îáó÷åíèÿ ìàñòåðñòâó ïðîãðàììèðîâàíèÿ ïðè ÑÏáÃÓ, ãðóïïà A1 Ïÿòîå çàíÿòèå: âñåãî ïîíåìíîãó, ñðåäà, 21 îêòÿáðÿ 2009 ãîäà Çàäà÷à D. Äîìèíîøêè Èìÿ âõîäíîãî ôàéëà: dominoes.in dominoes.out Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 Ìåáèáàéò Çàäàíà ïðÿìîóãîëüíàÿ äîñêà, íåêîòîðûå êëåòêè êîòîðîé âûðåçàíû. Îïðåäåëèòå, ìîæíî ëè ïîêðûòü îñòàâøèåñÿ êëåòêè äîìèíîøêàìè. Ôîðìàò âõîäíûõ äàííûõ  ïåðâîé ñòðîêå âõîäíîãî ôàéëà çàäàíû äâà öåëûõ ÷èñëà m è n (1 6 m, n 6 40) ðàçìåðû äîñêè. Êàæäàÿ èç ñëåäóþùèõ m ñòðîê ñîäåðæèò ïî n ñèìâîëîâ. i-ûé ñèìâîë j -îé èç ýòèõ ñòðîê ðàâåí `X' (èêñ áîëüøîå), åñëè êëåòêà âûðåçàíà, è `.' (òî÷êà), åñëè îíà ïóñòà. Ôîðìàò âûõîäíûõ äàííûõ Âûâåäèòå â âûõîäíîé ôàéë YES, åñëè äîñêó ìîæíî ïîêðûòü äîìèíîøêàìè, è NO â ïðîòèâíîì ñëó÷àå. Ïðèìåðû 2 3 ... XXX 3 2 .X .. X. dominoes.in NO dominoes.out YES ïîêðûòèå ñóùåñòâóåò, â ñëåäóþùèõ m ñòðîêàõ âûâåäèòå çàïèñü ëåêñèêîãðàôè÷åñêè ìèíèìàëüíîãî ïîêðûòèÿ. Ïðèìåðû 2 3 ... XXX 3 2 .X .. X. lexdominoes.in NO lexdominoes.out YES BX BB XB Çàäà÷à F. Ìàêñèìàëüíîå ïàðîñî÷åòàíèå Èìÿ âõîäíîãî ôàéëà: matching.in Èìÿ âûõîäíîãî ôàéëà: matching.out Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 Ìåáèáàéò Ãðàô (V, E) íàçûâàåòñÿ äâóäîëüíûì, åñëè ìíîæåñòâî åãî âåðøèí V ìîæíî ðàçáèòü íà äâà ïîäìíîæåñòâà A è B òàêèå, ÷òî ëþáîå ðåáðî èç E ñîåäèíÿåò âåðøèíó èç A ñ âåðøèíîé èç B . Ïàðîñî÷åòàíèåì P íàçûâàåòñÿ ëþáîå ïîäìíîæåñòâî E òàêîå, ÷òî íèêàêèå äâà ðåáðà èç íåãî íå èìåþò îáùåé âåðøèíû. Ìàêñèìàëüíîå ïàðîñî÷åòàíèå ýòî ïàðîñî÷åòàíèå, ÷èñëî ð¼áåð â êîòîðîì ìàêñèìàëüíî. Íàéäèòå ìàêñèìàëüíîå ïàðîñî÷åòàíèå â çàäàííîì äâóäîëüíîì ãðàôå. Çàäà÷à E. Ëåêñèêîãðàôè÷åñêè ìèíèìàëüíîå ïîêðûòèå äîìèíîøêàìè Ôîðìàò âõîäíûõ äàííûõ Èìÿ âõîäíîãî ôàéëà: lexdominoes.in Èìÿ âûõîäíîãî ôàéëà: lexdominoes.out Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 Ìåáèáàéò Çàäàíà ïðÿìîóãîëüíàÿ äîñêà, íåêîòîðûå êëåòêè êîòîðîé âûðåçàíû. Îïðåäåëèòå, ìîæíî ëè ïîêðûòü îñòàâøèåñÿ êëåòêè äîìèíîøêàìè. Åñëè ýòî ìîæíî ñäåëàòü, âûâåäèòå ïîêðûòèå, çàïèñü êîòîðîãî ëåêñèêîãðàôè÷åñêè ìèíèìàëüíà. Çàïèñü ïîêðûòèÿ ïîëó÷àåòñÿ çàïèñûâàíèåì äîñêè â âèäå ïðÿìîóãîëüíèêà ñëåäóþùèì îáðàçîì: • âûðåçàííàÿ êëåòêà çàïèñûâàåòñÿ ñèìâîëîì `X'; • ãîðèçîíòàëüíàÿ äîìèíîøêà çàïèñûâàåòñÿ äâóìÿ èäóùèìè ïîäðÿä ñèìâîëàìè `A'; • ãîðèçîíòàëüíàÿ äîìèíîøêà çàïèñûâàåòñÿ äâóìÿ ñòîÿùèìè îäèí íàä äðóãèì ñèìâîëàìè `B'. Ôîðìàò âõîäíûõ äàííûõ  ïåðâîé ñòðîêå âõîäíîãî ôàéëà çàäàíû äâà öåëûõ ÷èñëà m è n (1 6 m, n 6 40) ðàçìåðû äîñêè. Êàæäàÿ èç ñëåäóþùèõ m ñòðîê ñîäåðæèò ïî n ñèìâîëîâ. i-ûé ñèìâîë j -îé èç ýòèõ ñòðîê ðàâåí `X' (èêñ áîëüøîå), åñëè êëåòêà âûðåçàíà, è `.' (òî÷êà), åñëè îíà ïóñòà.  ïåðâîé ñòðîêå âõîäíîãî ôàéëà çàäàíû òðè ÷èñëà m è n è k (1 6 m, n 6 100, 1 6 k 6 10 000), ãäå m ÷èñëî âåðøèí â ìíîæåñòâå A, n ÷èñëî âåðøèí â B , à k êîëè÷åñòâî ð¼áåð â ãðàôå. Êàæäàÿ èç ñëåäóþùèõ k ñòðîê ñîäåðæèò ïî äâà ÷èñëà ui è vi , îçíà÷àþùèõ, ÷òî âåðøèíà ui ìíîæåñòâà A ñîåäèíåíà ðåáðîì ñ âåðøèíîé vi ìíîæåñòâà B . Âåðøèíû âî ìíîæåñòâàõ A è B íóìåðóþòñÿ ïî îòäåëüíîñòè, íà÷èíàÿ ñ åäèíèöû. Âñå ÷èñëà âî âõîäíîì ôàéëå öåëûå. Ôîðìàò âûõîäíûõ äàííûõ  ïåðâîé ñòðîêå âûõîäíîãî ôàéëà âûâåäèòå ÷èñëî l êîëè÷åñòâî ð¼áåð â ìàêñèìàëüíîì ïàðîñî÷åòàíèè. Äàëåå âûâåäèòå l ñòðîê, ïî äâà ÷èñëà â êàæäîé. ×èñëà aj è bj , ñòîÿøèå â j -îé èç ýòèõ ñòðîê, îçíà÷àþò, ÷òî â ïàðîñî÷åòàíèå âçÿòî ðåáðî ìåæäó âåðøèíîé aj ìíîæåñòâà A è âåðøèíîé bj ìíîæåñòâà B . Âçÿòûå ð¼áðà äîëæíû îáðàçîâûâàòü ìàêñèìàëüíîå ïàðîñî÷åòàíèå. Ïðèìåð 2 1 1 2 2 matching.in 3 4 1 2 2 3 Ôîðìàò âûõîäíûõ äàííûõ Âûâåäèòå â âûõîäíîé ôàéë YES, åñëè äîñêó ìîæíî ïîêðûòü äîìèíîøêàìè, è NO â ïðîòèâíîì ñëó÷àå. Åñëè Ñòðàíèöà 2 èç 2 2 1 1 2 3 matching.out