51Nod 1289 大魚吃小魚

2021-08-18 16:51:50 字數 687 閱讀 8310

有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向(0表示向左,1表示向右)。問足夠長的時間之後,能剩下多少條魚?

input

第1行:1個數n,表示魚的數量(1 <= n <= 100000)。 

第2 - n + 1行:每行兩個數aii, bii,中間用空格分隔,分別表示魚的大小及游動的方向(1 <= aii <= 10^9,bii = 0 或 1,0表示向左,1表示向右)。

output

輸出1個數,表示最終剩下的魚的數量。

sample input

54 0

3 12 0

1 05 0

sample output

一開始用陣列,用向左的魚往右邊遍歷,再用向右的往左邊遍歷,樣例全過,就是wrong answer.也找不出bug,而且邊界條件比較容易出錯(喜歡從數學的角度看題,很多時候會想太多).

參考了各路大神的codes,原來用棧來模擬,那麼perfect.

#include using namespace std;

stacks;

int main() else }}

}printf("%d\n",ans);

return 0;

}

51nod 1289 大魚吃小魚

題目 有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向 0表示向左,1表示向右 問足夠長的時間之後,能剩下多少條魚?input 第1行 1個數n,表示魚的數量 1 n 100000 第2 n 1...

51NOD 1289 大魚吃小魚

1289 大魚吃小魚 題目鏈結 題目有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向 0表示向左,1表示向右 問足夠長的時間之後,能剩下多少條魚?input 第1行 1個數n,表示魚的數量 1 ...

51nod 1289 大魚吃小魚

1289 大魚吃小魚 有n條魚每條魚的位置及大小均不同,他們沿著x軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向 0表示向左,1表示向右 問足夠長的時間之後,能剩下多少條魚?input 第1行 1個數n,表示魚的數量 1 n 10000...