FZU 1884——排火车——————【栈的模拟】
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
于是他们开始玩排火车了。。。
现在假设Apple和Gaga各有N张牌,Apple先出牌。请你给出一轮下来Apple和Gaga各获得的牌数。
Input
第一行T,表示T组测试数据,接下来有T部分。
每部分开头是一个整数N(1 <= N <= 50000),表示Apple和Gaga的牌数。接下来有2行,给出Apple和Gaga的牌的情况。首先给出Apple的牌,有N个整数,第i个整数xi(1 <= xi <= 100000)表示Apple的第i张牌面。其次给出Gaga的牌,格式类似。
Output
Sample Input
Sample Output
Hint
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<stack>
using namespace std;
const int maxn=110000;
int flag[maxn];
int a[maxn];
int main(){ int t,cnt=0;
scanf("%d",&t);
while(t--){ memset(flag,0,sizeof(flag));
int n,aa=0,bb=0;
scanf("%d",&n);
for(int i=0;i<n;i++){ scanf("%d",&a[i*2]);
}
for(int i=0;i<n;i++){ scanf("%d",&a[i*2+1]);
}
stack<int>S;
while(!S.empty()){
S.pop();
}
for(int i=0;i<2*n;i++){ if(!flag[a[i]]){ flag[a[i]]=1;
S.push(a[i]);
}else{ int tmp=0,num=0;
while(!S.empty()){ tmp=S.top();
flag[tmp]=0;
if(tmp!=a[i]){ S.pop();
num++;
}else{ break;
}
}
S.pop();
num+=2;
if(i%2==0){ aa+=num;
}else{ bb+=num;
}
}
}
printf("Case %d:Apple:%d Gaga:%d\n",++cnt,aa,bb);
}
return 0;
}
FZU 1884——排火车——————【栈的模拟】的更多相关文章
- HDU1022 Train Problem I 栈的模拟
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 栈的模拟,题目大意是已知元素次序, 判断出栈次序是否合理. 需要考虑到各种情况, 分类处理. 常 ...
- 2018.9.5 Java中使用栈来模拟队列
栈的规律是是先进后出 队列的规律是先进先出 栈模拟队列 首先我们定义两个栈,一个放数据,一个出数据,判断B栈是否有元素,有元素则直接pop:没有元素则需要我们将A里面的元素出栈然后放到B里面,再取出, ...
- 火车进栈(进出栈的模拟,dfs爆搜)
这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头. 这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从 ...
- 奇袭(单调栈+分治+桶排)(20190716 NOIP模拟测试4)
C. 奇袭 题目类型:传统 评测方式:文本比较 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而 ...
- hdoj-1022(栈的模拟)
#include <iostream> #include <cstring> #include <algorithm> #include <stack> ...
- LeetCode 155 - 最小栈 - [数组模拟栈]
题目链接:https://leetcode-cn.com/problems/min-stack/description/ 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的 ...
- Binary Tree Postorder Traversal(各种非递归实现,完美利用栈结构模拟)
1.后序遍历的非递归实现.(左右根) 难点:后序遍历的非递归实现是三种遍历方式中最难的一种.因为在后序遍历中,要保证左孩子和右孩子都已被访问并且左孩子在右孩子前访问才能访问根结点,这就为流程的控制带来 ...
- FZU 1575 小学生的游戏【模拟二分】
某天,无聊的小斌叫上几个同学玩游戏,其中有比较笨的小兴,比较傻的小雪,可爱的小霞和自以为是的小楠.他们去找聪明的小明去给他们当裁判.判定谁取得游戏胜利. 而这个游戏是由小斌想个1到10000000的数 ...
- 【PAT甲级】1051 Pop Sequence (25 分)(栈的模拟)
题意: 输入三个正整数M,N,K(<=1000),分别代表栈的容量,序列长度和输入序列的组数.接着输入K组出栈序列,输出是否可能以该序列的顺序出栈.数字1~N按照顺序随机入栈(入栈时机随机,未知 ...
随机推荐
- [.net 多线程] Interlocked实现CAS操作
Interlocked:为多个线程共享的变量提供原子操作. Interlocked.Increment(ref value) 数值加一(原子性操作) Interlocked.Decrement(ref ...
- javascript js自执行函数
javascript 自执行函数 一.自执行函数几种写法: 写法一: ( function(){ //代码 } )(); 写法二: ( function(){ //代码 }()); 二.作用: 隔离 ...
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'blog.t_blog.addTime' which is not functi
sql报错: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT ...
- day01.1-Python编译器的安装
一. 在Windows环境中安装Python编译器 1. 访问Python官网https://www.python.org,下载适用于Windows环境的相关编译器版本: 2. 点击Pytho ...
- WebStorm安装与快捷键
WebStorm是JetBrains 推出的一款强大的HTML5编辑工具(特别开发JavaScript非常好用),被JavaScript开发者誉为“web前端开发神奇”.“最强悍的JavaScript ...
- Jenkins项目部署使用教程-----03节点添加
1)添加节点 系统管理——>管理节点——>新建节点 进入配置界面 点ok进入配置界面配置,——>高级 点击save保存,进入节点,点击Launch agent使得jenkins服务器 ...
- Android 开发环境的构建备忘
准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ JD ...
- Python学习【第五篇】:面向对象及相关
面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 c ...
- CentOS 7 基础网络配置
基础的网络配置,包括静态IP地址.子网掩码.网关.DNS,使用 nmtui 和 nmcli 工具时必须开启 NetworkManager 服务 文本用户界面工具 nmtui [root@localho ...
- js中的slice和splic
一:slice 的用法 slice() 用于数组方法可从已有的数组中返回选定的元素,也就是在该方法中指定的元素.该方法不会改变原数组,,返回值是一个新的数组. 选取的范围是 从 当前位(0) 开始(索 ...