zcmu
1273: 夫妻
Time Limit: 1 Sec Memory Limit: 32 MB
[Submit][Status][Web Board]
Description

有n对夫妻围成一个圈站,他们每个人被连续的编号为1至2n。丈夫和妻子不一定站在一起。现在,对于一对夫妻,如果他们两人中间没有隔任何其他人(站在一起),那么,他们将牵手离开。直到所有人都离开或者留下的人不能成功牵手,游戏结束。

现在请问:是否所有的夫妻都能成功牵手走出这个圆圈呢?

Input

输入包含多组测试数据。每组测试数据中,第一行为一个整数n(1<=n<=100000),表示有n对夫妻。之后的n行中,每行包含两个整数a和b,表示a与b是一对夫妻,他们初始时站的位置为a和b。

n=0表示程序终止输入。

Output

如果所有的夫妻都能成功牵手离开,输出“Yes”,否则,输出“No”。

Sample Input

4
1 4
2 3
5 6
7 8

2
1 3
2 4

0

Sample Output

Yes
No

HINT

Source

ZSU

ACcode~:

#include <stdio.h>
#include <string.h>
#include <stack>
using namespace std;
int a[200005];
int main()
{int n,x,y;while(~scanf("%d",&n)&&n){memset(a,0,sizeof(a));for(int i = 1; i <= n; i++){scanf("%d%d",&x,&y);a[x] = a[y] = i;//第i对夫妇两人编号为i}stack<int>s;s.push(a[1]);//先把第一个人压入栈for(int i = 2; i <= 2*n; i++){if(!s.empty()&&s.top() == a[i])//下一个人如果和栈顶这个为夫妇,就pop栈顶s.pop();else if(!s.empty()&&s.top()!=a[i]||(s.empty()))//栈顶这个人不与下一个人不为夫妇或栈空了就让下一个人入栈s.push(a[i]);}if(s.empty())printf("Yes\n");elseprintf("No\n");}return 0;
}

/*
总结:
1.使用前加头文件#include 和using namespace std;
2.定义stack对象:
stacks;//int 型叫s的stack对象;
3.基本操作:
1)s.push(x);//将x压入栈
2)s.pop();//栈顶元素出栈
3)s.top();//访问栈顶元素
4)s.empty();//判断栈是否为空,是返回true
5)s.size();//栈中元素个数
*/

1273: 夫妻 -stack的运用相关推荐

  1. [华为机试真题]69.姓名的夫妻相

    题目 在中国,形容夫妻恩爱的词汇中,大家用的比较多的就是"夫妻相".所谓"夫妻相",就是两个人看上去比较般配,长相.身材等某些方面有一定的相似度. 本题则另辟蹊 ...

  2. Elasticsearch宝典:从ELK到Elastic Stack

    Elasticsearch宝典:从ELK到Elastic Stack 文/田雪松 Elastic Stack早期的名字叫ELK,是由三个开源软件组成的数据处理框架.后期由于有新的成员加入到ELK中,E ...

  3. another issue: I encoutered such a strace stack

    another issue: I encoutered such a strace stack #9  0xb6af99ca in ?? () from /lib/i386-linux-gnu/lib ...

  4. Docker入门六部曲——Stack

    原文链接:http://www.dubby.cn/detail.html?id=8739 准备知识 安装Docker(版本最低1.13). 阅读完Docker入门六部曲--Swarm,并且完成其中介绍 ...

  5. 堆栈,数据,文本,heap,bss,text data,stack

    堆栈,数据,文本,heap,bss,text data,stack text data bss stack heap 段 根据APUE,程序分为下面的段:.text, data (initialize ...

  6. 深度学习加速器堆栈Deep Learning Accelerator Stack

    深度学习加速器堆栈Deep Learning Accelerator Stack 通用张量加速器(VTA)是一种开放的.通用的.可定制的深度学习加速器,具有完整的基于TVM的编译器堆栈.设计了VTA来 ...

  7. 2021年大数据ELK(一):集中式日志协议栈Elastic Stack简介

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 一.简介 二.ELK 协议栈介绍及体系结构 三.集中式日志协议栈 ...

  8. C++实现stack【栈】

    要求: //****file: stack.h /* 对stack进行初始化 检查stack为空,或已满 将整数压入到stack中 从stack里弹出整数 不移除任何袁术,讲过stack的内容输出到标 ...

  9. pytorch学习——torch.cat和torch.stack的区别

    合并tensors torch.cat 沿着特定维数连接一系列张量. torch.stack 沿新维度连接一系列张量. torch.cat 在给定维度中连接给定的 seq 个张量序列. 所有张量必须具 ...

最新文章

  1. 将二叉树中每一层的节点串成链表
  2. 一种C#读写二进制文件的通用方法
  3. 方法重载-Overload
  4. Ambrosus宣布推出用于Web Apps、iOS、Android的源代码开发套件
  5. Windows Server 2008虚拟机ERP压力测试(5)
  6. 诊断虚拟机频繁 OOM 的问题
  7. Python快速计算Fibonacci数列中第n项的方法
  8. java(17) - 增强for循环、装箱拆箱、可变参数
  9. 随笔:大学英语六级 303 分到 576 分带来的一些回忆
  10. 最新可用双端美化版在线音乐播放器网站源码
  11. 什么软件可以测试电信网速,测试网速的简单的三种方法
  12. 【新手教程】从零搭建php动态网站
  13. andriod studio 运行项目时没有NDK(Android Studio如何更改JDK和SDK或者DNK的路径)
  14. 跨境电商收款之派安盈Payoneer个人账号收款教程
  15. js自动缩放页面自适应屏幕分辨率
  16. Java8新特性之Stream流式编程
  17. 读“王东升 新时空 硅碳融合的产业革命”拙见
  18. 1040 有几个PAT (25 分) -- 测试点3 测试点4
  19. Hybrid App开发之css样式使用
  20. 软件工程大作业(完整详细)火车订票管理系统

热门文章

  1. java 接口类型成员变量_18.9 接口作为成员变量类型
  2. SpringMVC使用AOP
  3. 下载kaggle数据集的小妙招
  4. java ltpa_SystemOut频繁输出SECJ0369E: 使用 LTPA 时认证失败
  5. matlab散点拟合系数,matlab离散型数据拟合方程,求系数,哪个大神能说说方法
  6. java 子类中this,请问子类中的构造方法中 this(name,beijing,school);是啥意思
  7. cv::imread导致段错误_网络诊断举例LSO导致的网络性能问题
  8. web.xml中的ContextLoaderListener和DispatcherServlet区别
  9. Springboot整合Hikari数据库连接池,密码加密
  10. JS 获取URL 后面的参数