题目名称 | 1355. 读书 |
---|---|
输入输出 | reading.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | cqw 于2013-04-17加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:137, 提交:323, 通过率:42.41% | ||||
_Itachi | 100 | 0.000 s | 0.00 MiB | C++ |
_Itachi | 100 | 0.000 s | 0.00 MiB | C++ |
Respawn | 100 | 0.000 s | 0.00 MiB | C++ |
可以的. | 100 | 0.000 s | 0.00 MiB | C++ |
Hzoi_Yniverse | 100 | 0.000 s | 0.00 MiB | C++ |
LOSER | 100 | 0.000 s | 0.00 MiB | C++ |
AntiLeaf | 100 | 0.000 s | 0.00 MiB | C++ |
Hzoi_ | 100 | 0.000 s | 0.00 MiB | C++ |
Bromidic | 100 | 0.000 s | 0.00 MiB | C++ |
面对疾风吧 疾风 疾风吧 | 100 | 0.000 s | 0.00 MiB | C++ |
本题关联比赛 | |||
20130417 |
关于 读书 的近10条评论(全部评论) | ||||
---|---|---|---|---|
难:( 贪心很怪
| ||||
| ||||
把时间数组存成double的话,会输出科学计数法形式!不要管那个floor(),直接用int!
洛克索耶夫
2016-06-27 16:36
7楼
| ||||
可以出现m==0但n!=0,这时候不要退出程序。。。
| ||||
我去。。。在自己电脑上测试什么问题也没有,,一提交上去就没输出...
后来才发现freopen("reading.in")in后面我多打了一个空格。。。 | ||||
被冰茶几的father数组的更新滞后性绊了一脚......
| ||||
好顶赞= =如果最小xi是1,那么(xi>>1)+(xi>>1)=0……
| ||||
我的语文是怎么学的....题目死活读不懂...
Letter zZZz
2014-03-15 21:14
2楼
| ||||
“单文件多数据”的题,80%都是跪在初始化上orz
|
放暑假了,CHH想趁假期提高一下自己的计算机水平,于是他从学校图书馆借了N本计算机科学方面的书,这N本书的编号依次为0~N-1。
读完第i本书,CHH需要花费time[i]分钟,但是有一些书的内容是相近的,如果第i本书与第j本书内容相近,那么如果CHH读完了第i本书,再读第j本书的时候只需要floor(time[j]/2)分钟的时间即可(其中floor()表示对括号中的式子进行下取整);当然,如果CHH先读完了第j本书,那么再读第i本书的时候只需floor(time[i]/2)的时间。现在你的任务是告诉CHH,他最少可以用多少分钟读完这N本书。
第一行有两个整数N(0<=N<=100)和M(0<=M<=N(N-1)/2)。N为书的总数,有M对书内容相近。
接下来有N行,分别表示time[0],time[1],...及time[N-1],(1<=time[i]<=10^5)。
再接下来有M行,每行有两个整数(i,j),表示第i本书与第j本书内容相近。
输入文件以N=0,M=0表示结束。
对于每组测试数据,输出仅一行,即最少时间。
2 1 6 10 0 1 3 2 1 2 3 0 1 1 2 3 1 2 4 6 0 1 0 0
11 3 10
对于第一组数据,如果CHH读的顺序为(0,1),则总的时间为6+10/2=11,如果读的顺序为(1,0),则总的读书时间为10+6/2=13.
在此键入。