74 条题解
-
0notblack LV 10 @ 2009-08-28 13:49:21
硬题要硬做!!
大家各显神威吧!想到有 ".0123" 这种数据 没想到有 "123." 这种数据...
WA了第五个点。
-
02009-08-06 14:25:58@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram ex;
var b:array[1..9] of string;
a:array[1..1000] of string;
s,n,l,u,r:string;
k,y,z,g,i,h,o:longint;
begin
b[2]:='S';b[3]:='B';b[4]:='Q';b[5]:='W';
b[6]:='S';b[7]:='B';b[8]:='Q';b[9]:='Y';
readln(S);y:=1;z:=0;u:=s;r:=s;
g:=pos('.',r);
if g>0 then delete(r,g,1);
if (r[1]='-')or(r[1]='+') then delete(r,1,1);
for i:=1 to length(r) do if r[i]='0' then o:=o+1;
if o=length(r) then begin write('0');halt;end;
if (g>0)and(g'0');
h:=length(S);
while y -
02009-08-02 23:48:26@
虽然0MS,但是每次我写的程序似乎都比众牛们的长3-4倍
郁闷到底.. -
02009-08-02 11:35:30@
41行搞定~~~2次AC~~~
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms//---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
var
s,sz,dz:string[50];
t,l,lz,xx:byte;
begin
readln(s);
t:=1;l:=length(s);
if s[1]='-' then begin inc(t); write('F'); end;
if s[1]='+' then inc(t);
while not ((s[t]='.') or (t>l)) do
begin
if not ((sz='') and (s[t]='0')) then
sz:=sz+s[t];
inc(t);
end;
if sz=''
then write('0')
else begin
lz:=length(sz); xx:=1;
while lz0 do
begin
if (xx=2) and (sz[lz]'0') then dz:='S'+dz;
if (xx=3) and (sz[lz]'0') then dz:='B'+dz;
if (xx=4) and (sz[lz]'0') then dz:='Q'+dz;
if (xx=5) and (sz[lz]'0') then dz:='W'+dz;
if (xx=6) and (sz[lz]'0') then dz:='S'+dz;
if (xx=7) and (sz[lz]'0') then dz:='B'+dz;
if (xx=8) and (sz[lz]'0') then dz:='Q'+dz;
if (xx=9) and (sz[lz]'0') then dz:='Y'+dz;
if not((dz[1]='0') and (sz[lz]='0')) then
if not((dz='')and(sz[lz]='0')) then
dz:=sz[lz]+dz;
dec(lz); inc(xx);
end;
write(dz);
end;
if (s[t]='.') and (l>t) then
begin
inc(t);write('D');
while t -
02009-08-01 13:00:48@
汗....4次才AC...而且第3338人提交..好背啊...
-
02009-07-27 22:28:25@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar w:array[0..20]of char; st:string; i,k,f,n:longint;
begin
w[2]:='S';
w[3]:='B';
w[4]:='Q';
w[5]:='W';
w[6]:='S';
w[7]:='B';
w[8]:='Q';
w[9]:='Y';
w[10]:='S';
readln(st);
n:=length(st);
f:=0;
k:=0;
for i:=1 to n do if st[i]='.' then k:=i;
if k>0 then
begin
for i:=1 to k-1 do
begin
if (st[i]>'0')and(st[i]'0')and(st'0')and(st[i]'0')and(st[i]'0')and(st'0')and(st[i] -
02009-05-24 22:24:15@
program p1230;
var s:string;
x1,k,len,flag,i,x,flag1,flag2:longint;
s1,s2:string;
procedure input;
begin
readln(s);
k:=pos('.',s);
len:=length(s);
if k0 then
begin
s1:=copy(s,1,k-1);
s2:=copy(s,k+1,len-k);
end
else s1:=s;end;
procedure des1;
begin
case s[1]of
'+':delete(s1,1,1);
'-':begin write('F');delete(s1,1,1); end;
end;
flag:=0;for i:=1 to length(s1) do
if s1[i]'0' then flag:= 1;
if flag=0then write('0') else
begin
while s1[1]='0' do
delete(s1,1,1);
x:=length(s1);
i:=1;
while length(s1)0 do
begin
if s1[i]='0' then
begin
x1:=1;
while (s1[i]='0')and (length(s1)0) do
begin
inc(x);
flag:= (length(s1)) ;
case flag of
4:begin if flag11 then begin if x -
02009-05-08 23:17:53@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms#include "stdio.h"
#include "string.h"
int main()
{
char s[55]="";
int i,j,k,v,sh,b,q,sw,bw,qw;
scanf("%s",s);
i=0;
if(s[i]=='-')
{
printf("F");
i++;
}
while(s[i]=='0')
i++;
j=i+1;
if(s[i]=='.'){ v=1; j=i;}
while(j0)
{
switch(k)
{
case 1: if(s[j-k]!='0')
{
if((!sh)&&v)
printf("0");
printf("%c",s[j-k]);
v=1;
}
break;
case 2: if(s[j-k]!='0')
{
sh=1;
if((!b)&&v)
printf("0");
printf("%cS",s[j-k]);
v=1;
}
break;
case 3: if(s[j-k]!='0')
{
b=1;
if((!q)&&v)
printf("0");
printf("%cB",s[j-k]);
v=1;
}
break;
case 4: if(s[j-k]!='0')
{
q=1;
printf("%cQ",s[j-k]);
v=1;
}
break;
case 5: if(s[j-k]!='0')
{
if((!sw)&&v)
printf("0");
printf("%c",s[j-k]);
v=1;
}
if(qw||bw||sw||s[j-k]!='0') printf("W");
break;
case 6: if(s[j-k]!='0')
{
sw=1;
if((!bw)&&v)
printf("0");
printf("%cS",s[j-k]);
v=1;
}
break;
case 7: if(s[j-k]!='0')
{
bw=1;
if((!qw)&&v)
printf("0");
printf("%cB",s[j-k]);
v=1;
}
break;
case 8: if(s[j-k]!='0')
{
qw=1;
printf("%cQ",s[j-k]);
v=1;
}
break;
case 9: printf("%cY",s[j-k]);
v=1;
break;
}
k--;
}
}
if(s[j]=='.'&&s[j+1]=='\0') return 0;
if(j -
02009-04-18 10:51:48@
晕,这小数点后面的.00也要读出来啊,,似乎是有效数字。。搞死,没看测试数据做不出来。第一次才60分。2个点超时。后面知道要把最后的0加上就AC了,奇怪怎么没超时
-
02009-03-27 17:33:22@
一遍AC.
-
02009-03-15 00:12:48@
超短版本51行AC
#include
#include
using namespace std;
const char str[8]={'S','B','Q','W','S','B','Q','Y'};
int main()
{ string a,b,temp;
bool d=false;
cin>>temp;
if(temp.find(".")!=string::npos)
{a=temp.substr(0,temp.find("."));
b=temp.substr(temp.find(".")+1,temp.size());
d=true;
}
else a=temp;
if(a[0]=='-')
{cout -
02009-01-23 15:37:21@
给个地方放程序……终于AC了!老天一个多小时……120行……
终于可以喘口气了!
模拟
{———————————————————————————————————}
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
s:string;
i,j,k:integer;
v,sh,b,q,sw,bw,qw:boolean;
begin
readln(s);
i:=1;
if s[i]='-' then
begin
write('F');
inc(i);
end;
if s[i]='.' then begin write('0'); v:=true; j:=i; end
else begin
while s[i]='0' do
inc(i);
if s[i]='.' then dec(i);
j:=i+1;
while (s[j]'.') and (j0 do
begin
case k of
1:if s[j-k]'0' then
begin
if (not sh) and (v) then
write('0');
write(s[j-k]);
v:=true;
end;2:if s[j-k]'0' then
begin
sh:=true;
if (not b) and (v) then
write('0');
write(s[j-k],'S');
v:=true;
end;3:if s[j-k]'0' then
begin
b:=true;
if (not q) and (v) then
write('0');
write(s[j-k],'B');
v:=true;
end;
4:if s[j-k]'0' then
begin
q:=true;
write(s[j-k],'Q');
v:=true;
end;5:begin
if s[j-k]'0' then
begin
if (not sw) and (v) then
write('0');
write(s[j-k]);
v:=true;
end;
if (qw) or (bw) or (sw) or (s[j-k]'0') then write('W');
end;6:if s[j-k]'0' then
begin
sw:=true;
if (not bw) and (v) then
write('0');
write(s[j-k],'S');
v:=true;
end;7:if s[j-k]'0' then
begin
bw:=true;
if (not qw) and (v) then
write('0');
write(s[j-k],'B');
v:=true;
end;8:if s[j-k]'0' then
begin
qw:=true;
write(s[j-k],'Q');
v:=true;
end;
9:begin
write(s[j-k],'Y');
v:=true;
end;
end;
dec(k);
end;
end;
end;
if j -
02008-11-27 18:19:30@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms咻~~终于AC了~~~程序好长时间都不敢交~~
注意 4567. 这类小数点后没东西的数据~~
第五个点就是这样的~~ 不应输出“.”
第一次就WA在这~~~~
51行2次AC~~ -
02008-11-22 11:43:15@
luyifan:
你可以试一下0000000这个数据,应该是输出0的,可是你的没有输出
还有一个缺点就是如果数据是000.89你试一下 -
02008-11-03 17:54:43@
#include
#include
#include
#define maxl 50
long l;
char str[maxl+10],say[20];
long c_mon(long start,long end)
{
long len,i,ret;
char lst;
len=end-start+1;
if(len>=9)
{
assert(len==9);
assert(str[start]!='0');
printf("%cY",str[start]);
c_mon(start+1,end);
}else if(len>=5){
if(c_mon(start,end-4))
printf("W");
c_mon(end-3,end);
}else if(len==1){
assert(0);
}else if(len==0){
return 0;
}else{
assert(len=2);
ret=0;
lst=0;
for(i=start;i -
02008-10-29 15:54:17@
此题过分处:小数点后全是0也要读出来,一定注意!小数点后只要有内容就全文读出!!!
-
02008-12-26 19:22:04@
译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
谢谢suntian! -
02008-10-20 21:54:12@
btbtbtbtbtbtbtbtbt……要是考试出一道这种题目,可要好好取舍了。
-
02008-10-15 20:08:13@
小心后面只有一个点没有数的情况
Data 5.... -
02008-10-12 20:46:14@
Br题!太溴了!考虑太多结果提交n遍!小数点后面多余0不用去掉!