大鱼吃小鱼(简单模拟)
Posted 小九
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大鱼吃小鱼(简单模拟)相关的知识,希望对你有一定的参考价值。
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1289
从左往右将数字压入栈里(想象成一个水平向右的栈),如果鱼是向左的让它一直吃,直到被吃或者吃完为止
import java.util.Scanner; import java.util.Stack; public class N1289 { private static Scanner cin; public static void main(String[] args) { cin = new Scanner(System.in); int n=cin.nextInt(),ans=n,size,dir; Stack<Integer> s=new Stack<Integer>(); for(int i=0;i<n;i++) { size=cin.nextInt(); dir=cin.nextInt(); if(dir==1) s.push(new Integer(size)); else { while(s.empty()!=true) { if(size>Integer.parseInt(s.peek().toString())) { s.pop(); ans--; } else { ans--; break; } } } } System.out.println(ans); } }
以上是关于大鱼吃小鱼(简单模拟)的主要内容,如果未能解决你的问题,请参考以下文章