# 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐

1609: [Usaco2008 Feb]Eating Together麻烦的聚餐

Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1010  Solved: 606 [Submit][Status]

Description

Input

Output

Sample Input

5

1

3

2

1

1

Sample Output

1

HINT

Source

Silver

``` 1 var
2    i,j,k,l,m,n:longint;
3    a:array[0..50000,1..3] of longint;
4    b:array[0..50000] of longint;
5 function min(x,y:longint):longint;
6          begin
7               if x<y then min:=x else min:=y;
8          end;
9
10 begin
12      for i:=1 to n do read(b[i]);
13      for i:=1 to n do
14          begin
15               if i=1 then
16                  begin
17                       for j:=1 to 3 do
18                           if b[1]=j then a[1,j]:=0 else a[1,j]:=1;
19                  end
20               else
21                   begin
22                        for j:=1 to 3 do
23                            begin
24                                 l:=maxlongint;
25                                 for k:=1 to j do
26                                     begin
27                                          if a[i-1,k]<l then l:=a[i-1,k];
28                                     end;
29                                 if b[i]=j then a[i,j]:=l else a[i,j]:=l+1;
30                            end;
31                   end;
32
33          end;
34      m:=(min(a[n,3],min(a[n,1],a[n,2])));
35      for i:=1 to n div 2 do
36          begin
37               l:=b[i];
38               b[i]:=b[n+1-i];
39               b[n+1-i]:=l;
40          end;
41      for i:=1 to n do
42          begin
43               if i=1 then
44                  begin
45                       for j:=1 to 3 do
46                           if b[1]=j then a[1,j]:=0 else a[1,j]:=1;
47                  end
48               else
49                   begin
50                        for j:=1 to 3 do
51                            begin
52                                 l:=maxlongint;
53                                 for k:=1 to j do
54                                     begin
55                                          if a[i-1,k]<l then l:=a[i-1,k];
56                                     end;
57                                 if b[i]=j then a[i,j]:=l else a[i,j]:=l+1;
58                            end;
59                   end;
60
61          end;
62      m:=min(m,min(a[n,3],min(a[n,1],a[n,2])));
63      writeln(m);
64 end.```

0 条评论

• ### 1601: [Usaco2008 Oct]灌水

1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 1342  S...

• ### 算法模板——计算几何2（二维凸包——Andrew算法）

实现功能：求出二维平面内一对散点的凸包（详见Codevs 1298） 很神奇的算法——先将各个点按坐标排序，然后像我们所知的那样一路左转，求出半边的凸包，然后反...

• ### 2818: Gcd

2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 2170  Solved: 979 [Su...

• ### 2818: Gcd

2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 2170  Solved: 979 [Su...

• ### 1218: [HNOI2003]激光炸弹

1218: [HNOI2003]激光炸弹 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1139  Solv...

• ### 2729: [HNOI2012]排队

2729: [HNOI2012]排队 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 957  Solved:...

• ### 【Science 封面】世界首个人工再造真核生命体问世，三分之二中国造

【新智元导读】今天《Science》以封面专题的形式，发表 7 篇文章介绍了世界上首个人工再造的真核生命体。天津大学、清华大学和华大基因的研究人员参与了这项国际...

• ### JAVA知识点总结篇（三）

版权声明：本文为博主原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接和本声明。

• ### 对物流园区建设的思考与建议

物流业作为支撑国民经济的基础性和综合性产业，在国务院出台了调整和振兴物流业的规划政策后，更是受到企业和政府的格外关注，各级地方政府也相继出台政策措施支持区域物流...