3787 - 软件包管理器

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

题目输入

题目输出

输入/输出样例

输入格式

2
1 2 
2 1

输出格式

2

C++解答

#include <iostream>
#include <cstdio>
#include <algorithm>
#define rep(i,a,b) for(int i = a; i <= b; i++)
using namespace std;
const int N = 510000;
int a[N], b[N], pre[N], suc[N];
typedef long double LD;
LD ans = 1;
int main(){
	int n; scanf("%d",&n);
	rep(i,1,n) scanf("%d",&a[i]);
	rep(i,2,n) pre[a[i]] = a[i - 1];
	rep(i,1,n) scanf("%d",&b[i]);
	rep(i,1,n - 1) suc[b[i]] = b[i + 1];
	rep(i,2,n) if (pre[i] == suc[i]) ans *= 2;
	printf("%.0Lf\n",ans);
	return 0;
}