46 条题解
-
0tyc3149 LV 6 @ 2008-10-17 15:58:12
【本题出错指南】
所有人都给我听好了!!!
这道题严重鄙视出题人!!!
大家注意以下几点
1、读入数据用readln,否则“答案错误...程序输出比正确答案长”
(靠,WA了我4次);
2、一定要用write输出完所有数据,最后writeln,否则WA。(这点严重鄙视ing)
3、注意输出用的辅助字符串"0123456789ABCDEFGHIJ"是不是多写了一个0成了"01234567890ABCDEFGHIJ",否则WA。(这点自认RP太差,WA了5次)。
另外字符串中的‘0’对应位置为1,所以输出时要+1,即
Write(uuu[ls[j]+1]);
而不是
Write(uuu[ls[j]]);
大家一定要注意最后结语:干掉出题人!浪费我2小时。痛哭ing。。。
【测试】
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms【标程】
Program vijos_p1465;
Const
uuu: String[20] = '0123456789ABCDEFGHIJ';
Var
n, r: Longint;
Procedure ZS_d2n(a, b: Longint);
Var
ls: array[0..100] of Integer;
i, j: Longint;
Begin
i := 0;
While a0 do
Begin
Inc(i);
ls[i]:= a mod b;
a:= a div b;
If ls[i] < 0 then
Begin Dec(ls[i], b); Inc(a); End;
End;
for j:= i downto 1 do
Write(uuu[ls[j]+1]);
End;Begin
While Not Eof do
Begin
Readln(n, r);
Write(n, '=');
ZS_d2n(n, r);
Write('(base ', r, ')');
Writeln;
End;
End. -
02008-10-17 10:16:54@
测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案错误...程序输出比正确答案长
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
第五组 数据怎么回事啊
while (a0)or(m=0) do
beginq:=a div r;
if a mod r -
02008-10-15 20:36:39@
奇怪....我用了while,所以第五组数据就很rp地过了...
楼下的rp真低....去拜一下观音娘娘..吧....^_^(ps:楼下的解这道题的时候我在旁边冷眼笑....) -
02008-10-15 20:33:55@
第五组数据答案为:
0=(base -R)靠!!!!这么个错法让我WA了N次!!!!
-
02008-10-14 23:12:36@
样例全过 测试全疯掉的看这个
进制下的数:-R∈{-2,-3,-4,....-20}
开始开到16结果挂了 -
02008-10-14 17:05:56@
数据是错的。第五组数据输入的N有0但输出却是0=(base s)(s为进制数我不知道具体值)
-
02008-10-13 17:25:39@
测试数据都过了,怎么评测的时候什么数据都没过....
├ 测试数据 01:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -1329...
├ 错误行输出 -986=...
├ 测试数据 02:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -3...
├ 错误行输出 -2
├ 测试数据 03:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -19384...
├ 错误行输出 -15061...
├ 测试数据 04:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -8152...
├ 错误行输出 -1914...
├ 测试数据 05:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -3367...
├ 错误行输出 -5309...
├ 测试数据 06:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -446=...
├ 错误行输出 -1927...
├ 测试数据 07:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -16747=...
├ 错误行输出 -1683=1...
├ 测试数据 08:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -3068...
├ 错误行输出 -2156...
├ 测试数据 09:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -3259...
├ 错误行输出 -2072...
├ 测试数据 10:答案错误...
├ Hint: 拿出纸笔算算看!
├ 标准行输出 -1303...
├ 错误行输出 -9644...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0ms能解释一下么...貌似我的输出格式上有误,望大牛点拨
-
02008-10-12 16:05:43@
样例输出第一行应该是:
30000=1101101010111000(base -2)主过程:s为ansistring
readln(a,b);
write(a);
s:='';
while a0 do
begin
s:=num[mod_(a,b)]+s;
a:=div_(a,b);
end; -
02008-10-11 15:29:50@
大家注意样例 错了
原来
30000 -2
-20000 -7
28800 -16
-25000 -1630000=1101101010111000(base -2)
-20000=1111011000100000(base -2)
28800=19180(base -16)
-25000=7FB8(base -16)应该是
30000 -2
-20000 -7
28800 -16
-25000 -1630000=1101101010111000(base -2)
-20000=263526(base -7)
28800=19180(base -16)
-25000=7FB8(base -16) -
02008-10-11 12:05:06@
不用搜索的。。
用通常的数制转换就可以了(请无视Hint里的话呵呵。)。。不过要自己写个mod和div就是了。。。还有一个。。。
遇到0的情况貌似要输出0=(base -XX),
我第一次还专门考虑了这个问题写0=0(base -XX),结果错了。。。无语了。。。我的程序:
const numchr:array[0..20] of char = ('0','1','2','3','4','5',
'6','7','8','9','A',
'B','C','D','E','F',
'G','H','I','J','K');
var a:array[0..30] of longint;
n,base:longint;
i,j,t:longint;function MyDiv(a,b:longint):longint;
begin
if a>0 then exit(-(a div (-b)))
else begin
if ((-a) mod (-b))0 then
exit(((-a) div (-b))+1)
else
exit((-a) div (-b));
end;
end;function MyMod(a,b:longint):longint;
begin
exit(a-b*MyDiv(a,b));
end;begin
while not eof do begin
readln(n,base);
// writeln(myDiv(n,base));exit;
write(n,'=');
fillchar(a,sizeof(a),0);
for i:=0 to 30 do begin
if n=0 then begin
t:=i;
break;
end;
a[i]:=MyMod(n,base);
n:=MyDiv(n,base);
end;
//if t=0 then write(0)
// else begin
for j:=t-1 downto 0 do begin
write(numchr[a[j]]);
end;
// end;
write('(base ',base,')');
writeln;
end;
end. -
02008-10-11 10:29:17@
...
-
02008-10-10 21:08:28@
第五个数据。。。
谁能说下 -
02008-10-10 19:28:13@
我用迭代加深+上下界剪枝过了。。
第一次90,第二次原封不动的程序100。。 -
02008-10-10 19:01:48@
诡异的第五组数据……
-
02008-10-09 19:35:31@
第一个样例,在-2进制数后再加一个0
-
02008-10-09 21:43:09@
-
02008-10-09 18:27:13@
无语了……样例数据错的太离谱&、……
-
02008-10-09 18:16:52@
???
-
02008-10-09 14:45:25@
比较靠下。。。
-
02008-10-08 20:52:55@
迭代加深。。
为什么是一千组??