栈+模拟(大鱼吃小鱼)
生活随笔
收集整理的這篇文章主要介紹了
栈+模拟(大鱼吃小鱼)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#大魚吃小魚
有N條魚每條魚的位置及大小均不同,他們沿著X軸游動,有的向左,有的向右。游動的速度是一樣的,兩條魚相遇大魚會吃掉小魚。從左到右給出每條魚的大小和游動的方向(0表示向左,1表示向右)。問足夠長的時間之后,能剩下多少條魚?
##Input
第1行:1個數(shù)N,表示魚的數(shù)量(1 <= N <= 100000)。
第2 - N + 1行:每行兩個數(shù)A[i], B[i],中間用空格分隔,分別表示魚的大小及游動的方向(1 <= A[i] <= 10^9,B[i] = 0 或 1,0表示向左,1表示向右)。
##Output
輸出1個數(shù),表示最終剩下的魚的數(shù)量。
##Input示例
5
4 0
3 1
2 0
1 0
5 0
##Output示例
2
####問題分析:
此題在分析后采用棧這種存儲結(jié)構(gòu)較為簡單,但需要注意的是只有當(dāng)棧頂魚向右而將要進棧的魚向左時才會發(fā)生大魚吃小魚的情況,其他的都只需要將將要進棧的魚壓入棧頂即可,因為不會發(fā)生大魚吃小魚的情況,讀者可自行在紙上模擬
####AC代碼:
總結(jié)
以上是生活随笔為你收集整理的栈+模拟(大鱼吃小鱼)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机论文的字体要求,论文格式及字体大小
- 下一篇: javac手动编译servlet