N - 蚂蚁花呗(栈应用)
发布日期:2021-05-04 14:45:11 浏览次数:20 分类:技术文章

本文共 985 字,大约阅读时间需要 3 分钟。

Description

众所周知,蚂蚁是一种十分神奇的生物,在算法设计中,我们往往能从它身上得到启发,例如在求解TSP问题中,就有一种模仿蚂蚁行为方式而设计出的蚁群算法。 z这种算法是由Marco Dorigo等人在1991年研究新型算法的过程中,发现蚁群在寻找食物时,通过蚂蚁分泌一种称为信息素的生物激素交流觅食信息从而能快速的找到目标,据此提出来的一种十分神奇的算法。
今天,我们也来从蚂蚁身上寻找一些灵感。
水平线上有 N 只蚂蚁,每只蚂蚁的位置及大小均不同。他们沿着 X 轴爬行,有的向左,有的向右,爬行的速度是一样的,两只蚂蚁相遇大一点的会吃掉小的。
现在从左到右给出每只蚂蚁的大小和爬行的方向(0 表示向左,1 表示向右)。问足够长的时间之后,能剩下多少只蚂蚁?

Input

首先输入测试数据的组数t,后面是t组测试数据。

对于每组测试数据:
第 1 行:一个整数 N,表示蚂蚁的数量 (1≤N≤100000)。
第 2 到 N+1 行:每行两个数 Ai,Bi (1≤Ai≤1e9,Bi∈{0,1}),中间用空格分隔,分别表示蚂蚁的大小及爬 行的方向,Bi=0 表示向左,Bi=1 表示向右。

Output

输出最终剩下的蚂蚁的数量。

Sample

Input

154 03 12 01 05 0

Output

2

答案:

#include 
#include
#define ll long longconst int N = 1e5 + 10;using namespace std;int dp[N];int q[N];int main(){
int t; cin>>t; int st[N]; while(t--) {
int top=0; int cnt=0; int n; cin>>n; int i; for(i=1;i<=n;i++) {
int x,y; cin>>x>>y; if(!y) {
while(top&&st[top]
上一篇:A - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历(BFS)
下一篇:M - 我成了瘸腿鹅(栈应用)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年03月11日 01时41分45秒