a672: 雜交蘭花
Tags :
Accepted rate : 5人/13人 ( 38% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-05-03 23:26

Content

蘭花的花農為了培植花更大,花期更長,顏色更獨特的蘭花,往往會將不同的蘭花品種進行雜交,而所得的新種通常會用兩個原品種名稱並列的寫法 (例如: Lyndon Bullions x Zheng Min Muscadine )。

你對這種命名方法並不滿意,因若雜交次數多的話,名字就變得很長。於是你改用了數字方法來命名。

首先,你將那些未經雜交的原生品種以一個質數 (不含1) 來編號。每次雜交時,你就將兩個參與雜交的品種的編號相乘來生成一個新的品種。新生成的數字可以是一個簡化了 (只含每個質數一次) 或非簡化數字 (含同一每質數多次),例如 6號品種和 21號品種雜交,所生成的新品種的編號可以是 42(簡化版) 或 126(非簡化版)。總之含有雜交雙方的所有品種 (2號、3號、7號品種) 的資料在一個數字內就可以。

過了一段時間後,你培養出很多新品種,為了方便研究及繼續改良這些品種,你希望將手上有的品種重新分成幾個大類。分類的方法是若兩個品種享有一個或多個共同品種基因 (即編號內含有同一個質數) 的就會被歸為同一大類,如品種 6 和品種 10 因有共同的基因 2,所以它們被歸為同一大類。當然,"同類" 是有傳遞性的,即若 A 與 B 是同類,且 B 與 C 也是同類,則 A 和 C 也是同類,雖然在這個情況下,品種 A 和品種 C 未必一定有共同的質數,但由於品種 B 的關係,它們都被合並到同一個大類中。

你有若干個花場,你要求每個花場根據花場內目前培植的品種情況進行分類。當然,在這個情況下,每個花場的分類結果會有所不同。同一個品種編號的花,在不同的花場內可能被編入不同的大類。你想知道的,並不是分類的詳情,而只是每個花場本身共分出了多少個大類。

Input

輸入的第一行有一個正整數K,它代表你所擁有的花場的數目。K ≤ 1,000

隨後有 K組輸入資料,每組有兩行:

  • 每組的第一行有一個正整數N,它代表一個花場內有幾筆品種編號記錄,每筆錄只有一個數字 ( 2 ≤ N ≤ 4,000 )
  • 隨後的一行內有 N個正整數,每個正整數代表一筆記錄,亦即是品種的編號,這些數字有可能重複出現。品種編號範圍在 2至1,000,000 之間
Output

輸出對應有 K行,每行輸出一個正整數,它順序代表相應輸入的一個花場內總結出來的品種大類數目。

Sample Input #1
2
4
2 5 9 12
6
3 7 3 25 21 17
Sample Output #1
2
3
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (10%): 1.0s , <1K
不公開 測資點#1 (10%): 1.0s , <1K
不公開 測資點#2 (10%): 1.0s , <1M
不公開 測資點#3 (10%): 1.0s , <1K
不公開 測資點#4 (10%): 1.0s , <1M
不公開 測資點#5 (10%): 1.0s , <1M
不公開 測資點#6 (10%): 1.0s , <1M
不公開 測資點#7 (10%): 1.0s , <1M
不公開 測資點#8 (10%): 1.0s , <1M
不公開 測資點#9 (10%): 1.0s , <10M
Hint :

對於以上輸入,第一個花場歸類的情況是 2, 9, 12 為一大類,5 為另一大類,所以共兩大類。

第二個花場則把 3, 7, 3, 21 歸為一大類,25 為另一大類,17 為第三大類,故共有三大類。

 

#非官方測試數據

Tags:
出處:
MOI 2021 [管理者:
lamkinun@gma... (Kinda Lam)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」