給定一個平面上的點所組成的集合S。這個集合有個特性假設:
1.若 (x1,y1)、(x1,y2)、(x2,y1) 都在集合內,則 (x2,y2) 也會自動被插入集合內。
2.S的初始狀態為空集合(意即初始集合大小為0)。
共給定 n 次操作,每次會將一個座標放進集合裡,請在每次操作後輸出集合大小。
請注意,有可能會放一個已經在集合內的座標,此情況下集合大小不變。
輸入第一行有一個正整數 n ,代表將要插入的座標數量。
之後 n 行,每行有兩個用空格分隔的正整數 xi,yi,代表第次插入的座標為 (xi,yi)。
測資限制
1. 1<=n<=2e5。
2. 1<=xi,yi<=2e5。
請輸出 n 行,每行有一個整數,第 i 行的整數代表經過第 i 次操作之後的集合大小。
4 1 1 1 2 2 1 2 2
1 2 4 4
6 1 1 2 2 1 2 3 3 3 2 4 4
1 2 4 5 9 10
範例1說明
操作1:插入(1,1)到集合中,此時集合大小為1。
操作2:插入(1,2)到集合中,此時集合大小為2。
操作3:插入(2,1)到集合中,由於(1,1)、(1,2)、(2,1)都已經在集合中,故(2,2)也會自動被插入集合,此時集合大小為4。
操作4:插入(2,2)到集合中,但(2,2)已經在集合中,故集合大小不變,仍為4。
範例2說明
操作1:插入(1,1)到集合中,此時集合大小為1。
操作2:插入(2,2)到集合中,此時集合大小為2。
操作3:插入(1,2)到集合中,由於(1,2)、(1,1)、(2,2)都已經在集合中,故(2,1)也會自動被插入集合,此時集合大小為4。
操作4:插入(3,3)到集合中,此時集合大小為5。
操作5:插入(3,2)到集合中,依字母順序會有下列變化:
a.由於(3,3)、(3,2)、(2,2)都已經在集合中,故(2,3)也會自動被插入集合。
同時,由於(2,1)、(2,2)、(3,2)都已經在集合中,故(3,1)也會自動被插入集合。
b.由於(1,2)、(2,2)、(2,3)都已經在集合中,故(1,3)也會自動被插入集合;
故此時集合大小為9。
操作6:插入(4,4)到集合中,此時集合大小為10。
評分說明
本題共有四組子任務,每一組有多筆測試資料,條件如下所示:
1. n<=50(20%)。
2. xi<=5(30%)。
3. n<=2000(20%)。
4. 無額外限制(30%)。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|