题目名称 | 712. [POI 2001] 解环 |
---|---|
输入输出 | lan.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 5 |
题目来源 | sywgz 于2012-04-01加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:4, 提交:10, 通过率:40% | ||||
rewine | 100 | 0.011 s | 1.86 MiB | C++ |
幸福回头 | 100 | 0.015 s | 0.17 MiB | Pascal |
依然。。寒冰 | 100 | 0.033 s | 0.33 MiB | C++ |
wakawaka | 100 | 0.251 s | 0.37 MiB | C++ |
vector | 20 | 0.007 s | 2.23 MiB | C++ |
vector | 20 | 0.007 s | 2.23 MiB | C++ |
Furyton | 20 | 4.000 s | 0.20 MiB | C++ |
依然。。寒冰 | 0 | 0.031 s | 0.33 MiB | C++ |
vector | 0 | 0.369 s | 2.23 MiB | C++ |
rewine | 0 | 5.000 s | 0.32 MiB | C++ |
关于 解环 的近10条评论(全部评论) | ||||
---|---|---|---|---|
这不就是九连环的玩法吗?动2、1、4、1、2、1、3、6、1、2、1、3、1、2、1、4、1、2、1、3、5、1、2、1、3、1、2、1、4、1、2、1、3、8......
FoolMike
2014-09-22 23:11
1楼
|
拜特兰并不总是一个非常民主的国家,也有一些阴暗的历史。一个美好的日子,拜特将军(该国的统帅)作了一个用以结束长期内战的决定,释放被关押的反对派。然而,他并未让反对派的领袖拜特萨直接自由,而是用一根“拜特链”将拜特萨锁在墙边.该链子由很多环和固定在墙上栅栏组成。尽管环并未和栅栏融合在一起,但想除去它们却非常困难。
“将军,你为什么要用链子将我锁在墙边而不让我自由!”拜特萨大叫道。
“拜特萨,你并未完全被链子锁住,我可以坦率的告诉你,你完全可以从栅栏上解下环。”拜特将军回答,同时他补充说,“但是,你必须在夜里工作,一个小时之内完成,不能弄出任何声音,否则,我将按有关法律治罪。”
为了帮助拜特萨!链子上的环按整数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