Återuppfinnande av matematiken
시간 제한5초메모리 제한1024 MB
전제 조건에 대해 닫힌 정리 집합을 골라 시간 T 안에서 총 가치를 최대화하고, 선택한 정리들을 올바른 증명 순서로 출력한다.
문제
Ånej, all matematik har gått upp i rök! Hur gick det här till? Du hinner inte fundera över saken, utan inser att du måste återuppfinna så mycket matematik som möjligt innan världen går under! Även om all faktisk kunskap försvunnit så vet du lite om matematiken. Matematiken är uppbyggd av satser. Varje sats, , beror på ett antal satser , som måste bevisas innan man kan börja med satsen. För att visa sats måste du spendera tid. Värdet av en visad sats är .
Du har tid på dig. Välj vilka satser du ska bevisa för att maximera det totala värdet av matematiken du hinner återuppfinna.
입력
Den första raden innehåller ett heltal (), numret på testfallet ( är exempelfallet nedan).
Den andra raden innehåller två heltal: () och ()
Därefter följer beskrivningar av satser. En beskrivning av en sats består av två rader. Först kommer en rad med tre heltal: , , . Därefter kommer en rad med heltal: -- indexen på satserna som måste bevisas innan den här satsen. Satserna är indexerade från 0 i ordningen de kommer i input.
출력
Skriv först ut en rad med ett tal (), antal satser du ska bevisa. Skriv därefter ut en rad med heltal, satserna du bevisar i ordning du bevisar dem.