題目描述
紅蓮清淚兩行欲吐半點卻無
如初是你杳然若緋霧還在水榭畔畫樓處
是誰衣白衫如初誰紅裳如故
——《憶紅蓮》
小奇想畫幾朵紅蓮,可惜它剛開始學畫畫,只能從畫圓開始。小奇畫了n個圓,它們的圓心都在x軸上,且兩兩不相交(可以相切)。現在小奇想知道,它畫的圓把畫紙分割成了多少塊?(假設畫紙無限大)
輸入第一行包括1個整數n。
接下來n行,每行兩個整數x,r,表示小奇畫了圓心在(x,0),半徑為r的乙個圓。
輸出輸出乙個整數表示答案。
樣例輸入
4樣例輸出7 5
-9 11 11 9
0 20
6提示
對於 100%資料,1<=n<=300000,-10^9<=x<=10^9,1<=r<=10^9。
當某個圓被多個連續相切的小圓分成上下兩部分時塊數+2,其他情況塊數+1。
上面的情況時最外面的圓被分成上下兩部分所以+2,其他小圓每個+1,初始為1;
所以只需要判斷有多少個+2的,最後再+圓的個數+1;
建圖把每個大圓裡直接包含的小圓建一條邊,然後判斷每個大圓直接相連的所有小圓的r的和是否等於大圓的r就可以
建圖的話先按照左端點小-->大排序,左端點相等的話按右端點大-->小排序,然後用stack建圖。
//建圖
for(int i = 0; i < n; i++)
s.pop();
} s.push(i);
} int ans = bfs() + 1 + n;
printf("%d\n", ans);
return 0;
}
小奇畫畫 BFS
紅蓮清淚兩行欲吐半點卻無 如初是你杳然若緋霧還在水榭畔畫樓處 是誰衣白衫如初誰紅裳如故 憶紅蓮 小奇想畫幾朵紅蓮,可惜它剛開始學畫畫,只能從畫圓開始。小奇畫了 n 個圓,它們的圓心都在 x 軸上,且兩兩不相交 可以相切 現在小奇想知道,它畫的圓把畫紙分割成了多少塊?假設畫紙無限大 第一行包括 1 個...
5725 小奇畫畫
題目鏈結 當某個圓被多個連續相切的小圓分成上下兩部分時塊數 2,其他情況塊數 1。上面的情況時最外面的圓被分成上下兩部分所以 2,其他小圓每個 1,初始為1 所以只需要判斷有多少個 2的,最後再 圓的個數 1 建圖把每個大圓裡直接包含的小圓建一條邊,然後判斷每個大圓直接相連的所有小圓的r的和是否等於...
UPC 5725 小奇畫畫
時間限制 1 sec 記憶體限制 128 mb 題目描述 紅蓮清淚兩行欲吐半點卻無 如初是你杳然若緋霧還在水榭畔畫樓處 是誰衣白衫如初誰紅裳如故 憶紅蓮 小奇想畫幾朵紅蓮,可惜它剛開始學畫畫,只能從畫圓開始。小奇畫了n個圓,它們的圓心都在x軸上,且兩兩不相交 可以相切 現在小奇想知道,它畫的圓把畫紙...