有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...