网站页面
当前课程
成员
General
主题 1
主题 2
主题 4
主题 5
主题 6
主题 7
主题 8
主题 9
主题 10
主题 11
主题 12
主题 13
主题 14
主题 15
主题 16
主题 17
主题 18
主题 19
主题 20
[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 (每个都是0或1),如果 oi=1, 那么第i个环和栅栏相连,如果 oi=0, 那么第i环没有和栅栏相连。
输出(lan.out):
文本文件 lan.out中只包含一个整数,为解开拜特链的全部环的最少操作次数。
输入示例(lan.in)
4 1 0 1 0
输出示例(lan.out)
6
