码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces 187A

时间:2014-08-04 17:15:37      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   代码   div   

【题意描述】

给定两个有n个整数构成的序列,我们每次可以移动第一个序列的最后一个数,并可以把该数插在第一位或者中间某一个位置。求通过最少的步骤数使得第一个序列与第二个序列相同。

【解题思路】

本题采用贪心的思想。我们可以从第一个开始找,寻找不需要处理的序列数,然后用总长度减去不需要处理的数目即是答案。

【AC代码】

 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 }

 

codeforces 187A,布布扣,bubuko.com

codeforces 187A

标签:style   blog   color   os   io   for   代码   div   

原文地址:http://www.cnblogs.com/khbcsu/p/3890388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!