[POI2001]解环

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 lan.in 输出文件 lan.out

拜特兰并不总是一个非常民主的国家,也有一些阴暗的历史。一个美好的日子,拜特将军(该国的统帅)作了一个用以结束长期内战的决定,释放被关押的反对派。然而,他并未让反对派的领袖拜特萨直接自由,而是用一根“拜特链”将拜特萨锁在墙边.该链子由很多环和固定在墙上栅栏组成。尽管环并未和栅栏融合在一起,但想除去它们却非常困难。

“将军,你为什么要用链子将我锁在墙边而不让我自由!”拜特萨大叫道。

“拜特萨,你并未完全被链子锁住,我可以坦率的告诉你,你完全可以从栅栏上解下环。”拜特将军回答,同时他补充说,“但是,你必须在夜里工作,一个小时之内完成,不能弄出任何声音,否则,我将按有关法律治罪。”

为了帮助拜特萨!链子上的环按整数1,2,…,n进行了编号。我们可以按照以下规则解开环:

l 只有一个环时可以被连接到栅栏或从栅栏上拆开。

l 1号环总能进行连接或拆开

l 如果1,...,k-1 (1<=k<n)环都被拆开,第k个环被连接时, 此时我们能连接或拆开 第k+1个环.

写一个程序:

l 文本文件lan.in描述了拜特链的构成,

l 计算拆除拜特链上全部环的最少操作次数,

l 将结果写入文本文件lan.out.

输入(lan.in):

在文本文件lan.in 中的第1行有一个整数n, 1<=n<=1 000.在第2行有n个用一个空格分隔的整数 o1,o2,...,on (每个都是01),如果 oi=1, 那么第i个环和栅栏相连,如果 oi=0, 那么第i环没有和栅栏相连。

输出(lan.out):

文本文件 lan.out中只包含一个整数,为解开拜特链的全部环的最少操作次数。

输入示例(lan.in)


4
1 0 1 0

输出示例(lan.out)

6