115 条题解
-
0sdsxsz LV 8 @ 2009-11-07 17:00:50
3888个提交的。。。RP要增加啦 哈哈!!!
-
02009-10-25 13:33:05@
交了6次,5次10分...
10分的注意了!八成没判断n=2的情况
还有这题的hint是很重要的!!!
PS:底下的有程序的题解基本都是错的!!! -
02009-10-25 08:39:35@
感谢lgxcgd的题解
-
02009-10-20 09:23:59@
很让人无语的题目。。
如Devil【Law】所说:“难度不高但是很烦很烦的题 ”
感谢notblack的题解。
感谢victorygod的BT数据。
感谢huangyuan的提醒。鄙人整理众人之言的题解:http://254117343.blog.163.com/
-
02009-10-15 18:25:07@
提示是错误的:197和201是反例.1出现了2次
-
02009-09-20 12:50:18@
事实证明。。[red]所谓的AC程序[/red]是错的。。
比如这个数据
7
9 0 0 0 0 0 0
显然正确答案为900000
而[red]所谓的AC程序[/red]得的解却是-900
无语了 -
02009-09-19 19:47:22@
楼下有好多AC程序是错的!!
-
02009-09-18 16:41:16@
见notblack题解 写的比我想的还详细 n=1我都没判.......
另:数组一定要大点开......我交了2遍....... -
02009-09-17 22:58:57@
n为1时直接打印
n为2并且有0时:1个0就输出另外的数,2个0输出0
奇数:不能mod 2,直接做
偶数:非0要mod 2,如果是0,看其它数有没有重复的,没有就不能mod,有就要mod
然后就是小的从大到小,大的从小到大
很多次10分后一下子AC... -
02009-09-17 21:39:36@
贪心算法其实是错误的,但能AC此题,故此题数据极弱
-
02009-09-08 19:04:02@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms好题,好题!
考验编程能力的,编死我了,1小时交3次AC!
记得要在 两两差最小 且有相同情况可以取最小的时候,要枚举每组情况,
否则光靠贪心是AC不掉的。 -
02009-08-31 13:17:35@
时隔半年,终于下决心A掉它了。
开一个0..9的布尔数组,读入一个数就f[t]:=not f[t];
这样偶数次的就相当于没有出现。N=2的时候,显然。。。
N>2时;
(1) 奇数,选一个非0最小数放首位
剩余的从小到大排序(如果是像上面说的开布尔数组就直接从左往右扫描)
(前面一半)-(后面一半的逆序)例 1 0 2 5 4 3 6 ->> 0123456 ->> 1xxx-xxx
->> (023456) ->> (023)【(456)逆序】 ->> (023)(654) ->> 1023-654(2) 偶数,还是先处理首位,但是偶数要枚举所有情况。
剩余的同奇数一样,排序然后(前面一半)-(后面一半的逆序)。
取所有情况最小的。例 0 2 3 4 ->>
3x - 2x ->> 30 - 24 -->min
4x - 2x ->> 40 - 23
4x - 3x ->> 40 - 32两种情况构造剩余数字中最小差的函数可以通用。
function getmin:longint;
var i,t1,t2:longint; s1,s2:string;
begin
s1:=''; s2:='';
for i:=0 to 9 do
if f[i] then
begin
s1:=s1+chr(ord('0')+i); s2:=chr(ord('0')+i)+s2;
end;val(copy(s1,1,length(s1) div 2),t1);
val(copy(s2,1,length(s2) div 2),t2);
exit(t1-t2);
end;PS:没有N=1...
-
02009-08-21 23:31:51@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案错误...程序输出比正确答案长
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案错误...程序输出比正确答案长
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:80 有效耗时:0ms为什么???
难道如楼下所说要判断n=1????
牛们,能告诉我n=1时该输出什么吗? -
02009-08-21 21:28:37@
分4类
N=1
N=2
(N>2) AND (N MOD 2=0)
(N>2) AND (N MOD 2=1)
95行 -
02009-08-21 19:17:54@
有相同数字吗?貌似没有啊。
-
02009-08-21 18:06:35@
80分.....
-
02009-08-19 18:45:22@
郁闷,这题到底有没有问题,又说测试数据错了,又说有相同的数,晕,怎么又遇到这题了?
-
02009-08-18 13:10:42@
两句话打反 调了一早上
注意:
1.考虑0不能在首位,但不要考虑多个零的情况
2.数字会有相同的
如果 n 为偶数 那么 相同的可以消掉
如果 n 为奇数 那么 相同的不能消掉
3.注意细节
4.本题除了数会有重复外,测试数据没有问题看看下面的数据能不能过
5
1 2 2 2 7 答案是 50
10
0 1 2 3 4 5 6 7 8 9 答案是 247明明AC了 怎么状态里是编译不成功 -_-
Flag Accepted
题号 P1039记录编号 Flag 得分 记录信息 环境 评测机 程序提交时间
R1445405 No Compiled 0 From 陈亮宇-
P1039 FPC Vivid Puppy 2009-8-18 13:05:14 -
02009-08-14 21:24:26@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
分奇偶的确有点烦 写了120+ 由于马虎害的我浪费了1个小时 -
02009-08-12 11:02:34@
正如本题的友情提示:输入的数目如果是偶数个可以抵消,奇数个只算一个!
先用这步进行优化,然后排序(其实不算排序了,直接利用上一步优化后的0..9该读的读入好了,读入的个数总数即为t),再拿出t=0,1,2进行特殊处理,最后分两种情况分析:
1)奇数个:取前面的t div 2+1个数,正序做为被减数;取后面的t div 2个数,逆序作为减数
2)偶数个:先一遍比较过去,记录下a-a[i]的最小值;再一遍比较过去,如果a-a[i]=最小值进行特殊处理:
取出这两个数,将剩下的数重新组成一个数组,取前(t-2) div 2个数作为a的后面部分(正序),此数为被减数;取后(t-2) div 2作为a[i]的后面部分(逆序),此数为减数最后,我们就得到了ans(可以在上面过程中直接算出来输出)
刚好100行.....
好长啊,郁闷.....