3787 - 软件包管理器
时间限制 : 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; }