Meet and Greet

模拟水题

 1 #include <cstdio>
 2 #include <cstring>
 3 
 4 const int maxn=1000000+5;
 5 
 6 int b[maxn];
 7 int e[maxn];
 8 
 9 int main()
10 {
11    // freopen("icpc.in","r",stdin);
12    // freopen("icpc.out","w",stdout);
13   int B,E;
14   while(scanf("%d%d",&B,&E)!=EOF)
15   {
16       int t=0;
17       int cur=0;
18       int dis;
19       char com[5];
20       for(int i=0;i<B;i++)
21       {
22         scanf("%d %s",&dis,com);
23         if(com[0]=='L')
24         {
25             while(dis--)
26             {
27                 b[++t]=--cur;
28             }
29         }
30         else
31         {
32             while(dis--)
33             {
34                 b[++t]=++cur;
35             }
36         }
37       }
38       int ta=t;
39       t=cur=0;
40       for(int i=0;i<E;i++)
41       {
42         scanf("%d%s",&dis,com);
43         if(com[0]=='L')
44         {
45             while(dis--)
46             {
47                 e[++t]=--cur;
48             }
49         }
50         else
51         {
52             while(dis--)
53             {
54                 e[++t]=++cur;
55             }
56         }
57       }
58       int ans=0;
59       int tb=t;
60       int len=ta>tb?ta:tb;
61       int ra=b[ta],rb=e[tb];
62       while(++ta<=len)
63       {
64         b[ta]=ra;
65       }
66       while(++tb<=len)
67       {
68         e[tb]=rb;
69       }
70       for(int i=1;i<=len;i++)
71         if(b[i]==e[i]&&b[i-1]!=e[i-1]) ans++;
72       printf("%d
",ans);
73   }
74   return 0;
75 }
原文地址:https://www.cnblogs.com/sooflow/p/3362263.html