港口设施
题号:NC53202
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

题目译自 JOISC 2017 Day1 T2「港湾設備 / Port Facility
JOI港口虽然很小,却非常繁忙。
JOI港口放置集装箱的结构可视为两个本质不同的栈。每天从船上卸下的集装箱会被压入某个栈,而被运出港口的集装箱则从栈顶弹出。
今天JOI港口会迎来N个集装箱,它们在今天内会被运出港口。今天出入口有2N条记录,每条记录都表示一个集装箱到港或离港。
第i个集装箱的到港记录为A_i,离港记录为B_i
我们把N个集装箱分别放在哪个栈称为一个方案。求放置集装箱的方案数

输入描述:

第一行有一个整数N。在接下来的N行中,第i行有两个整数A_i,B_i,用空格分隔。

输出描述:

一个整数,表示放置集装箱的方案数
示例1

输入

复制
4
1 3
2 5
4 8
6 7

输出

复制
4

说明

为了方便叙述,将这两个栈分别称为A和B。
四种方案分别为:ABAA(第1个集装箱放在A,第2个集装箱放在B,以此类推),ABAB,BABA,BABB。
示例2

输入

复制
3
1 4
2 5
3 6

输出

复制
0
示例3

输入

复制
5
1 4
2 10
6 9
7 8
3 5

输出

复制
8
示例4

输入

复制
8
1 15
2 5
3 8
4 6
14 16
7 9
10 13
11 12

输出

复制
16

备注:

对于所有数据,这2N个整数互不相同。

CC-BY-SA,感谢LOJ分享,译文来自 https://loj.ac/problem/2391