CodeForces 187A Permutations

反向思维,先求数组中不用处理的元素个数,再用n减去这个数,得到结果。

 1 #include <iostream>
 2 #include <cstring>
 3 
 4 #define maxn 200000+10
 5 
 6 using namespace std;
 7 
 8 int n;
 9 int a[maxn],b[maxn];
10 int visit[maxn];
11 int main (){
12 while (cin>>n){
13 int flag,temp;
14 int ans=maxn;
15 memset (visit,0,sizeof visit);
16 for (int i=0;i<n;i++){
17 cin>>a[i];
18 }
19 a[n]=0;
20 for (int i=0;i<n;i++){
21 cin>>b[i];
22 }
23 int j=0;
24 ans=0;
25 
26  
27 
28 //求不用处理的元素个数
29 for (int i=0;i<n;i++){
30 if (a[j]!=b[i])
31 continue ;
32 j++;
33 ans++;
34 }
35 cout<<n-ans<<endl;
36 }
37 return 0;
38 }
原文地址:https://www.cnblogs.com/gfc-g/p/3844250.html