時間限制: 2s
內(nèi)存限制: 192MB 提交: 23 解決: 0
題目描述
一場戰(zhàn)爭正在A國與B國之間如火如荼的展開。
B國憑借其強大的經(jīng)濟實力開發(fā)出了無數(shù)的遠程攻擊導(dǎo)彈,B國的領(lǐng)導(dǎo)人希望,通過這些導(dǎo)彈直接毀滅A國的指揮部,從而取得戰(zhàn)斗的勝利!當(dāng)然,A國人民不會允許這樣的事情發(fā)生,所以這個世界上還存在攔截導(dǎo)彈。
現(xiàn)在,你是一名A國負責(zé)導(dǎo)彈攔截的高級助理。
B國的導(dǎo)彈有效的形成了三維立體打擊,我們可以將這些導(dǎo)彈的位置抽象三維中間的點(大小忽略),為了簡單起見,我們只考慮一個瞬時的狀態(tài),即他們靜止的狀態(tài)。
攔截導(dǎo)彈設(shè)計非常精良,可以精準的引爆對方導(dǎo)彈而不需要自身損失,但是A國面臨的一個技術(shù)難題是,這些導(dǎo)彈只懂得直線上升。精確的說,這里的直線上升指xyz三維坐標(biāo)單調(diào)上升。
給所有的B國導(dǎo)彈按照1至N標(biāo)號,一枚攔截導(dǎo)彈可以打擊的對象可以用一個xyz嚴格單調(diào)上升的序列來表示,例如:
B國導(dǎo)彈位置:(0, 0, 0) (1, 1, 0) (1, 1, 1), (2, 2, 2)
一個合法的打擊序列為:{1, 3, 4}
一個不合法的打擊序列為{1, 2, 4}
A國領(lǐng)導(dǎo)人將一份導(dǎo)彈位置的清單交給你,并且向你提出了兩個最簡單不過的問題(假裝它最簡單吧):
1.一枚攔截導(dǎo)彈最多可以摧毀多少B國的導(dǎo)彈?
2.最少使用多少攔截導(dǎo)彈才能摧毀B國的所有導(dǎo)彈?
不管是為了個人榮譽還是國家容易,更多的是為了飯碗,你,都應(yīng)該好好的把這個問題解決掉!
輸入格式
第一行一個整數(shù)N給出B國導(dǎo)彈的數(shù)目。
接下來N行每行三個非負整數(shù)Xi, Yi, Zi給出一個導(dǎo)彈的位置,你可以假定任意兩個導(dǎo)彈不會出現(xiàn)在同一位置。
輸出格式
輸出有且僅有兩行。
第一行輸出一個整數(shù)P,表示一枚攔截導(dǎo)彈之多能夠摧毀的導(dǎo)彈數(shù)。
第二行輸出一個整數(shù)Q,表示至少需要的攔截導(dǎo)彈數(shù)目。
樣例輸入
4
0 0 0
1 1 0
1 1 1
2 2 2
提示
零基礎(chǔ)同學(xué)可以先學(xué)習(xí)
視頻課程,包含C/C++、Python、百練、藍橋杯輔導(dǎo)、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習(xí)題,還有老師答疑,
點擊這里了解課程詳情