a688. CPE:History Grading (UVa 111)

中等CPE

時間限制 2000 ms ・ 記憶體限制 256 MB

題目描述

歷史測驗要求學生替 n 個事件標出年代先後。為了給部分分數,老師採用以下方式:找出一組盡可能多的事件,使它們在學生答案中的相對先後與正確答案一致。這些事件不必在順序中連續,得分為選出的事件數。

輸入的第 i 個數字是「事件 i 的名次」,不是排在第 i 位的事件編號。正確答案 c_i 與學生答案 r_i 都表示事件 i 被排在第幾位。請計算每名學生的得分。

輸入格式

輸入包含一組或多組資料。每組先有一行整數 n,2 ≤ n ≤ 20;下一行有 n 個整數,為正確名次。接下來每行有 n 個整數,為一名學生的名次。

每個名次列都是 1 到 n 的排列,數字間可能有一個或多個空白。新的單一整數行表示下一組資料的 n;讀到檔案結尾為止。

輸出格式

每名學生輸出一行,表示符合正確相對順序的最長事件序列長度。

題目來源:UVa 111 — History Grading。 原題:https://onlinejudge.org/external/1/111.pdf

範例測資

範例輸入 1

4
4 2 3 1
1 3 2 4
3 2 1 4
2 3 4 1
10
3 1 2 4 9 5 10 6 8 7
1 2 3 4 5 6 7 8 9 10
4 7 2 3 10 6 9 1 5 8
3 1 2 4 9 5 10 6 8 7
2 10 1 3 8 4 9 5 7 6

範例輸出 1

1
2
3
6
5
10
9
請先登入後再提交程式碼

討論與題解

載入討論區…

更多