211 条题解
-
0wzc1995 LV 10 @ 2009-05-10 00:07:00
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms#include "stdio.h"
#include "string.h"
char s[1000];
long n,i,a[1000],all,b[1000],c[1000];
int ok(long a[1000])
{
long i;
for(i=1;i -
02009-05-02 12:13:58@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms庆祝110AC!!!
-
02009-04-29 19:43:00@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
嘿嘿做过的。。粘来就ac -
02009-02-15 22:36:50@
#include
using namespace std;
char s[1000];
long n,i,a[100],all,b[1000],c[1000];
bool ok(long a[1000])
{ long i;
for (i=1; i -
02009-02-12 11:26:10@
#include
using namespace std;long long pow(long long x,long long y){
long long r=1;
for(long long i=0;i=0;i--) q+=m[i];
return q;
}long long OtherToDec(string n,int r){
const char x[37]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";char k;
long long pos,size=n.length(),p=0;
for(int i=0;i>m;
string last=m;
int i;
for(i=0;i -
02009-02-04 16:55:24@
小心>=n不是>n
type
ar=array[1..255] of integer;const
c:array['A'..'F'] of byte=(10,11,12,13,14,15);var
a,b:ar;
n,i,len,step:integer;
s:string;procedure copyarray(var a,b:ar;len:integer);
var
i:integer;
begin
for i:=1 to len do
b[i]:=a[len-i+1];
end;procedure highinc(var a,b:ar;n:integer;var len:integer);
var
i,m:integer;
begin
m:=0;
for i:=1 to len do
begin
a[i]:=a[i]+m;
a[i]:=a[i]+b[i];
if a[i]>=n
then
begin
m:=a[i] div n;
a[i]:=a[i] mod n;
end
else m:=0;
end;
if m>0 then
begin
inc(len);
a[len]:=m;
end;
end;function compare(var a:ar;len:integer):boolean;
var
i:integer;
begin
for i:=1 to len do
if a[i]a[len-i+1] then exit(false);
exit(true);
end;begin
readln(n);
readln(s);
len:=length(s);
for i:=1 to len do
begin
if s[i] in ['A'..'F']
then a[len-i+1]:=c[s[i]]
else a[len-i+1]:=ord(s[i])-48;
end;
step:=0;
if not compare(a,len)
then
begin
repeat
copyarray(a,b,len);
highinc(a,b,n,len);
inc(step);
until compare(a,len) or (step>30);
if step>30
then writeln('Impossible!')
else writeln('STEP=',step);
end
else writeln('STEP=0');
end. -
02009-01-22 18:08:56@
#include
#include
#define MAX 100int cvt_num(char*n) {
int l=strlen(n),i;
char t[MAX];
for(i=0;i'9'?n[i]-'A'+10:n[i]-'0';
memcpy(n,t,l);
return l;
}int ok(const char*n,int l) {
int i;
for(i=0;i -
02008-12-26 21:37:06@
#include
#include
#define MAX 100int cvt_num(char*n) {
int l=strlen(n),i;
char t[MAX];
for(i=0;i'9'?n[i]-'A'+10:n[i]-'0';
memcpy(n,t,l);
return l;
}int ok(const char*n,int l) {
int i;
for(i=0;i -
02008-11-11 21:18:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms80 AC
-
02008-11-11 18:49:22@
怎么没人用C语言?
以下是我的标程 -
02008-11-10 19:36:37@
和大家诉说我做这题的心酸:
第一次:理解错了,以为是转十进制后用十进制做
第二次:STEP=没打
第三次:打了小写的
第四次:Impossible!没打
第五次:没考虑10~16进制的字母(不知是大写还是小写)
第六次:把上诉错都在C++中改了后,交上去发现没编译通过,(Dev_C++中,我是先用文件输入输出,再在提交界面上改成键盘输入输出),是文件读入读出的
第七次:太高兴了,交成了pascal的了
第八次:编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms55555555~~~~~
为此我的AC率下降了10个百分点!!!
过两天就NOIP了,NOIp中我要是这样就完了!!! -
02008-11-08 15:57:57@
type
num=array[1..10000]of integer;
var
a:string;
b:num;
i,j,k,n:longint;
ci:integer;
procedure init;
begin
readln(a);
for i:=1 to length(a)do
if a[i]in['0'..'9']then val(a[i],b[i])
else b[i]:=ord(a[i])-55;
end;
function pan:boolean;
begin
pan:=true;
for i:=1 to (k div 2) do
pan:=pan and(b[i]=b[k-i+1]);
end;
procedure jia;
var i,jin:longint;p:num;
begin
fillchar(p,sizeof(p),0);
for i:=1 to k do
p[i]:=b[i]+b[k-i+1];
for i:=1 to k do
begin
p:=p+p[i] div n;
p[i]:=p[i]mod n;
end;
if p[k+1]0 then k:=k+1;
b:=p;
end;
begin
readln(n);
init;
k:=length(a);
ci:=0;
repeat
ci:=ci+1;
jia;
until (pan)or(ci=31);
if ci=31 then writeln('Impossible!')
else writeln('STEP=',ci);
end.
{尽管已经看了题解,料想到叹号可能错,于是把题目中的问号复制下来,结果还是错了~~~呜呜呜~我的AC率~题目害死人~猥囧死~}
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
以下是 未通过时 的情况:
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案错误... ├ 标准行输出 ...ble!...
├ 错误行输出 ...ble锛...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:75 有效耗时:0ms-_-|||
o(>_ -
02008-11-08 07:37:38@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
原来是水题
通过率不能说明问题了 -
02008-11-06 15:48:13@
庆祝第100次提交。。。。
第32次AC。。。。。。。。。。。。。。。就是高精加和进制转换。。。
嘿。。。 -
02008-11-04 21:21:21@
那位大哥看一下,怎么总会错一个点?
var n,k,v1,v2,v3,i,o : longint;
s : string;
procedure jzzh(var s:string;a:longint);
var p : longint;
begin
while a>0 do begin
p:=a mod n;
if p -
02008-11-04 16:42:46@
Impossible居然还有感叹号……
-
02008-11-03 17:55:09@
var n,i,len,step,c:longint;
a,b:array [0..20] of integer;
s,j,d,dd:string;
function p(s:string):boolean;
begin
p:=false;
for i:=1 to (len div 2) do
if s[i]s[len+1-i] then
begin p:=true; break; end;
end;
begin
readln(n);
read(d); step:=0;
repeat s:=d; d:=dd;
len:=length(s);
fillchar(a,sizeof(a),0);
fillchar(c,sizeof(c),0);
if p(s) then begin inc(step);
for i:=1 to len do begin
val(s[i],a[i],c);
val(s[len-i+1],b[i],c);
a[i]:=a[i]+b[i];
if a[i]>=n then begin
inc(a,a[i] div n);
a[i]:=a[i] mod n;
str(a[i],j); d:=d+j; end;
end;
if a[len+1]0 then
begin str(a[len+1],j); d:=d+j;
end;
until (not p(s)) or (step>=30);
if not p(s) then write(step)
else write('Impossible!');
end. -
02008-11-02 20:46:38@
细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!细节!
-
02008-11-02 19:00:41@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
少了个感叹号……连续提交了4次啊 ……T-T -
02008-10-29 08:02:15@
哪位大牛写一下代码啦?