你是一位美食專家,你發覺食物進食的次序會影響你對食物的感覺。
經過多年來的努力,你總結出一個食物進食次序感覺表。
這個表列出了對於任何兩種食物 a 和 b,若先吃 a 緊接著再吃 b 的話,你的愉快值是多少。
愉快值越高,代表感覺越好,愉快值亦有可能是負數即是代表這樣進食法感覺並不良好。
你有位朋友,正在準備一次重要的晚宴,她有 N 種可以選擇的食物,分別編號為 1 至 N。
為了使她的客人得到最高的總愉快值,她請你為她所準備的食物清單進行篩選。
你可以任意取捨清單內的食物,但由於食材的安排及其他處理要求,食物出埸先後關係必定要對應食物的編號。即若 b > a,則食物 b 只能出現在食物 a 之後。而同一種食最後只可以出現一次。
另外,她亦希望在進餐過程,任何兩道連續的食物中,都不會有愉快值為負數的情形出現。
輸入有若干組資料每組資料每組測試數據的格式如下
- 每組數據的第一行上有兩個整數 N~F,N 代表食物的總數目 ( 2 <= N <= 50)。F則代表你的輸出是否要包括詳細的資料,詳情請參閱下面輸出的說明
- 隨後的 N 行上,每行有都有 N 個整數。其中第 i 行上的第 j 個數字代先吃食物 i,接著再吃食物 j 時的愉快值。當 i=j 時,其值為 0。
除了i=j 的情況外,其他的數字均不會為 0,且這些數值的絶對值均在 200 以內。
最後的一行上只有一個 0, 代表輸入資料的結束。
對應於每一個輸入組測試數據,輸出可以是以下兩種格式的其中一種:
**當 F 為 0 時間**: 只需輸一個正整數在一行上,它代表你所找到的最高總愉快值。
**當 F 為 1 時間**: 你需要輸出以下兩行資料:
1. 第一行輸一個正整數在一行上,它代表你所找到的最高總愉快值。
2. 第二行上有兩項目資:
- 首先輸出的是一個整數 M,它代表要得你找到的最大總愉快值時,你所選用的食物數
- 隨後在同一行上輸出 M 個整數,這些整數順序表示你所選的食物編號
要注意的是在同一個測試數據檔案內,所有測試數據的 F 值都是相同的。
若需要輸出食物編號順序時,又同時有多種可滿足最大總愉快值的情況,則輸出的字典順序中最前的一個。
所謂字典順序是指把每個編號當為一個字母,並將編號的組合看成一個字來排序。
以下是一些順序的例子:
- [1] < [1,3,5] < [2,3]
- [1,3,5] < [2,3] < [3]
- [1, 2, 4] < [2] < [2,3,5] < [10]
但要注意的是輸出的食物編號順序中,最少要有一個食物編號。
4 0 0 3 6 16 3 0 8 7 -2 9 0 -1 1 10 10 0 4 0 0 6 14 6 3 0 6 4 1 9 0 7 5 8 2 0 0
16 21
4 1 0 3 6 16 3 0 8 7 -2 9 0 -1 1 10 10 0 4 1 0 6 14 6 3 0 6 4 1 9 0 7 5 8 2 0 0
16 2 1 4 21 3 1 3 4
ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |