Âòîðàÿ òðåíèðîâêà ãðóïïû A2 (äèíàìè÷åñêîå ïðîãðàììèðîâàíèå) Ñàíêò-Ïåòåðáóðãñêèé Ãîñóäàðñòâåííûé Óíèâåðñèòåò, 12 êîòÿáðÿ 2009 ãîäà Çàäà÷à A. 2-3 Äåðåâüÿ óòðàì, à äðóãàÿ ïî íî÷àì. ×òîáû ðàñòåíèå íå çàñîõëî, íóæíî ÷òîáû ëèáî óòðîì, ëèáî íî÷üþ îíî öåëèêîì ïîëèÈìÿ âõîäíîãî ôàéëà: 23trees.in âàëîñü êàêîé-òî ìàøèíîé. Ò.å. îêðóæíîñòü, ïðåäñòàâëÿ23trees.out Èìÿ âûõîäíîãî ôàéëà: þùàÿ êàæäîå èç äåðåâüåâ, äîëæíà öåëèêîì ñîäåðæàòüñÿ Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû â îäíîé èëè îáåèõ îêðóæíîñòÿõ, ïðåäñòàâëÿþùèõ ïîëèÎãðàíè÷åíèå ïî ïàìÿòè: 256 ìåáèáàéò âàëüíûå ìàøèíû. Âû êîãäà-íèáóäü ñëûøàëè î 2-3 äåðåâüÿõ? Íåò, íå î Äàíû êîîðäèíàòû è ðàäèóñ êàæäîãî èç äåðåâüåâ. Íàéñáàëàíñèðîâííûõ ñòðóêòóðàõ äàííûõ, à î íàñòîÿùèõ ðàñäèòå íàèìåíüøèé ðàäèóñ R, äëÿ êîòîðîãî ìîæíî ðàñïîòåíèÿõ, îïèñàííûõ â ýòîé çàäà÷å. ëîæèòü îáå ïîëèâàëüíûå ìàøèíû òàê, ÷òîáû íè îäíî äå2-3 äåðåâî íàçâàíî òàêèì îáðàçîì, ïîòîìó ÷òî êàæäûé ðåâî íå çàñîõëî. Ïîëèâàëüíûå ìàøèíû ìîæíî ñòàâèòü â ãîä îíî ïåðåðîæäàåòñÿ ëèáî â 2, ëèáî â 3 íîâûõ äåðåâà, ëþáóþ òî÷êó ïëîñêîñòè, äàæå âíóòðè äåðåâà. à ïîòîì óìèðàåò. Êîëè÷åñòâî íîâûõ äåðåâüåâ çàâèñèò îò êëèìàòà, òàêèì îáðàçîì, åñëè ëåòî áûëî õîëîäíûì, áóäåò Ôîðìàò âõîäíîãî ôàéëà òîëüêî äâà íîâûõ äåðåâà, èíà÷å áóäåò òðè.  ïåðâîé ñòðî÷êå äàíî 1 6 N 6 3 êîëè÷åñòâî äåðåÁîëåå òîãî, âñå äåðåâüÿ â 2-3 ëåñó ðàñòóò îäèíàêîãî, âüåâ. Äàëåå ñëåäóåò N ñòðîê èç öåëûõ ÷èñåë xi , yi , ri (1 6 òàêèì îáðàçîì, êàæäûé ãîä êîëè÷åñòâî äåðåâüåâ óäâàè- xi , yi , ri 6 1000) êîîðäèíàòû è ðàäèóñ äåðåâüåâ. âàåòñÿ ëèáî óòðàèâàåòñÿ. Íåñêîëüêî ëåò íàçàä áûëî âñåãî îäíî 2-3 äåðåâî â ìèðå. Ôîðìàò âûõîäíîãî ôàéëà Âûâåäèòå îäíî ÷èñëî R èñêîìûé ðàäèóñ ñ òî÷íîñòüþ Íî íà ïðîòÿæåíèè ýòèõ ëåò îíî ïåðåðîñëî â îãðîìíûé ëåñ. íå ìåíåå 6 çíàêîâ ïîñëå çàïÿòîé. Òåïåðü ýêîëîãè õîòÿò âçÿòü âñå äåðåâüÿ è ïåðåìåñòèòü â ñïåöèàëüíûé ïàðê. Ïðèìåðû Ïàðê èìååò ôîðìó òðåóãîëüíèêà è âàøà çàäà÷à ðàçcircles.in circles.out äåëèòü ïàðê íà ðàâíûå òðåóãîëüíèêè è ïîñàäèòü â êàæ3 7.000000 äûé òðåóãîëüíèê ðîâíî îäíî äåðåâî. 20 10 2 Êîîðäèíàòû âåðøèí òðåóãîëüíîãî ïàðêà: (0, 0) , 20 20 2 √ (1000, 0) è (500, 500 3). 40 10 3 3 8.000000 Ôîðìàò âõîäíîãî ôàéëà 20 10 3 Âõîäíîé ôàéë ñîäåðæèò îäíî ïîëîæèòåëüíîå öåëîå 30 10 3 ÷èñëî N êîëè÷åñòâî 2-3 äåðåâüåâ â 2-3 ëåñó (1 6 N 6 40 10 3 1 000). Ôîðìàò âûõîäíîãî ôàéëà Çàäà÷à C. Ðàññòîÿíèå ìåæäó îòðåçêàìè Ïðèìåð Ôîðìàò âûõîäíîãî ôàéëà Êàæäàÿ èç N ñòðîê âûõîäíîãî ôàéëà äîëæíà ñîäåðæàòü 6 ÷èñåë: x1 , y1 , x2 , y2 , x3 , y3 êîîðäèíàòû âåðøèí Èìÿ âõîäíîãî ôàéëà: distance.in ñîîòâåòñòâóþùåãî òðåóãîëüíèêà. Èìÿ âûõîäíîãî ôàéëà: distance.out Òðåóãîëüíèêè íå äîëæíû ïåðåñåêàòüñÿ è äîëæíû ëåÎãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäà æàòü âíóòðè èñõîäíîãî òðåóãîëüíèêà. Âñå òðåóãîëüíèêè Îãðàíè÷åíèå ïî ïàìÿòè: 256 ìåáèáàéò äîëæíû áûòü ðàâíû, ò.å. âîçìîæíî ïîäâèíóòü (è, ìîæåò Íàéäèòå ðàññòîÿíèå ìåæäó äâóìÿ îòðåçêàìè. áûòü, ïåðåâåðíóòü) òðåóãîëüíèê, ÷òîáû ïîëó÷èòü ëþáîé äðóãîé òðåóãîëüíèê. Ôîðìàò âõîäíîãî ôàéëà Âûâîäèòå êîîðäèíàòû ñ òî÷íîñòüþ êàê ìèíèìóì 6 äåÂîñåìü öåëûõ ÷èñåë êîîðäèíàòû ÷åòûð¼õ êîíöîâ ñÿòè÷íûõ çíàêîâ ïîñëå çàïÿòîé. äâóõ îòðåçêîâ. 2 23trees.in 23trees.out 0 0 500 0 500 866.02540378443864676372317075294 1000 0 500 0 500 866.02540378443864676372317075294 Çàäà÷à B. Äåðåâüÿ Èìÿ âõîäíîãî ôàéëà: circles.in Èìÿ âûõîäíîãî ôàéëà: circles.out Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 ìåáèáàéò  âàøåì ñàäó ðàñòåò íåñêîëüêî äåðåâüåâ, êîòîðûå íåîáõîäèìî ïîëèâàòü. Òàê óæ ïîëó÷èëîñü, ÷òî êàæäîå èç ðàñòåíèé èìååò ôîðìó êðóãà, ïðè÷åì íèêàêèå äâà èç íèõ íå ïåðåñåêàþòñÿ. Âû ñîáèðàåòåñü êóïèòü äâå ïîëèâàëüíûå ìàøèíû. Êàæäàÿ èç ìàøèí ïîëèâàåò âñþ çåìëþ âíóòðè êðóãà ðàäèóñà R. Îäíà èç ìàøèí áóäåò âêëþ÷àòüñÿ ïî Îäíî ÷èñëî ðàññòîÿíèå ìåæäó îòðåçêàìè ñ òî÷íîñòüþ íå ìåíåå 10−6 . Ïðèìåð distance.in 1 1 2 2 2 1 3 0 distance.out 0.7071067812 Çàäà÷à D. Òî÷êà â ìíîãîóãîëüíèêå Èìÿ âõîäíîãî ôàéëà: Èìÿ âûõîäíîãî ôàéëà: Îãðàíè÷åíèå ïî âðåìåíè: Îãðàíè÷åíèå ïî ïàìÿòè: Ôîðìàò âõîäíîãî ôàéëà point.in point.out 2 ñåêóíäû 256 ìåáèáàéò  ïåðâîé ñòðîêå òðè ÷èñëà N (3 6 N 6 100000) è êîîðäèíàòû òî÷êè. Äàëåå â N ñòðîêàõ ïî ïàðå ÷èñåë Ñòðàíèöà 1 èç 2 Âòîðàÿ òðåíèðîâêà ãðóïïû A2 (äèíàìè÷åñêîå ïðîãðàììèðîâàíèå) Ñàíêò-Ïåòåðáóðãñêèé Ãîñóäàðñòâåííûé Óíèâåðñèòåò, 12 êîòÿáðÿ 2009 ãîäà êîîðäèíàòû î÷åðåäíîé âåðøèíû ïðîñòîãî ìíîãîóãîëüíèêà â ïîðÿäêå îáõîäà ïî èëè ïðîòèâ ÷àñîâîé ñòðåëêè. Ôîðìàò âûõîäíîãî ôàéëà Îäíà ñòðîêà ¾YES¿, åñëè çàäàííàÿ òî÷êà ñîäåðæèòñÿ â ïðèâåä¼ííîì ìíîãîóãîëüíèêå èëè íà åãî ãðàíèöå, è ¾NO¿ â ïðîòèâíîì ñëó÷àå. Ïðèìåð 3 1 0 1 0 0 0 1 1 point.in NO point.out Çàäà÷à E. Ïåðåñå÷åíèå îòðåçêîâ Èìÿ âõîäíîãî ôàéëà: segments.in Èìÿ âûõîäíîãî ôàéëà: segments.out Îãðàíè÷åíèå ïî âðåìåíè: 2 ñåêóíäû Îãðàíè÷åíèå ïî ïàìÿòè: 256 ìåáèáàéò Äâà îòðåçêà [A, B] è [C, D] íà ïëîñêîñòè çàäàíû êîîðäèíàòàìè ñâîèõ êîíöîâ òî÷åê A, B , C , D: (Xa , Ya ), (Xb , Yb ), (Xc , Yc ), (Xd , Yd ). Òðåáóåòñÿ íàéòè ïåðåñå÷åíèå ýòèõ îòðåçêîâ è âûâåñòè: • ñëîâî Empty, åñëè ýòè îòðåçêè íå ïåðåñåêàþòñÿ; • êîîðäèíàòû òî÷êè ïåðåñå÷åíèÿ, åñëè ïåðåñå÷åíèå ñîñòîèò èç åäèíñòâåííîé òî÷êè; • êîîðäèíàòû òî÷åê íà÷àëà è êîíöà îòðåçêà ïåðåñå÷åíèÿ â ëåêñèêîãðàôè÷åñêîì ïîðÿäêå, åñëè ïåðåñå÷åíèå çàäàííûõ îòðåçêîâ îòðåçîê. Òî åñòü ïåðâîé ñëåäóåò âûâîäèòü òî÷êó ñ ìèíèìàëüíûì x, à åñëè êîîðäèíàòû x ðàâíû, òî ñ ìèíèìàëüíûì y . Ôîðìàò âõîäíîãî ôàéëà Âî âõîäíîì ôàéëå ñîäåðæàòñÿ âîñåìü öåëûõ ÷èñåë, ïî ìîäóëþ íå ïðåâîñõîäÿùèõ 1 000 êîîðäèíàòû êîíöîâ òî÷åê A, B, C, D. Îòðåçêè ìîãóò áûòü âûðîæäåííûìè. Ôîðìàò âûõîäíîãî ôàéëà ×èñëîâûå çíà÷åíèÿ â îòâåòå ñëåäóåò îêðóãëèòü äî øåñòè çíàêîâ ïîñëå äåñÿòè÷íîé òî÷êè. Ïðèìåð segments.in 0 0 9 9 9 5 0 5 0 0 9 9 15 15 7 7 0 0 9 9 10 10 10 10 segments.out 5.000000 5.000000 7.000000 7.000000 9.000000 9.000000 Empty Ñòðàíèöà 2 èç 2