281 条题解
-
0605030795 LV 7 @ 2009-10-08 10:25:01
var
a,n:string;
b,c,d,e,f,g,h,i,j,k,l:integer;
m:char;
begin
readln(a);
b:=ord(a[1])-48;
c:=ord(a[3])-48;
d:=ord(a[4])-48;
e:=ord(a[5])-48;
f:=ord(a[7])-48;
g:=ord(a[8])-48;
h:=ord(a[9])-48;
i:=ord(a[10])-48;
j:=ord(a[11])-48;
k:=(b*1+c*2+d*3+e*4+f*5+g*6+h*7+i*8+j*9) mod 11;
case k of
1:m:='1';
2:m:='2';
3:m:='3';
4:m:='4';
5:m:='5';
6:m:='6';
7:m:='7';
8:m:='8';
9:m:='9';
10:m:='X';
end;
if a[13]=m then write('Right') else
begin
for k:=1 to 12 do
write(a[k]);
write(m);
end;
end. -
02009-10-05 11:17:39@
#include
#include
using namespace std;
string isbn;
short int s[10];
int k=0;
int main(){
cin>>isbn;
s[0]=isbn[0]-'0';
s[1]=isbn[2]-'0';
s[2]=isbn[3]-'0';
s[3]=isbn[4]-'0';
s[4]=isbn[6]-'0';
s[5]=isbn[7]-'0';
s[6]=isbn[8]-'0';
s[7]=isbn[9]-'0';
s[8]=isbn[10]-'0';
s[9]=isbn[12]-'0';
for(int i=0;i -
02009-10-05 11:14:01@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms#include
main()
{
char s1[14];
int i,j,k,sum,a[10];
gets(s1);
sum=0;
k=0;
for(i=0;i -
02009-10-04 09:52:00@
var
s:string;
m,i,l:longint;
ch:char;
a:array[1..9] of longint;
begin
readln(s);
i:=0;
l:=1;
while i -
02009-10-03 21:21:39@
尊奇怪……vijos一下就过了……北航我提交了两次都没过……神奇……而且不是说是文件输入输出么……为啥这里我直接用的标准输入输出流也能过(其实是我忘了这茬= =)
#include
#include
#include
#include
using namespace std;
int main()
{
string isbn,s,s2,s3(1,'X');
const size_t size(10);
int n(0),a(0),count(1),check(0),arr,input(0);
string::size_type k(0);
size_t ix(0);
cin>>isbn;
s=isbn.substr(0,12);
s2=isbn[12];
if(s2!=s3){
istringstream ss(s2);
ss>>input;
}else{
input=10;
}
for(;k!=isbn.size();++k){
if(isdigit(isbn[k])){
string ts;
ts=isbn.substr(k,1);
istringstream is(ts);
is>>n;
arr[ix]=n;
++ix;
}else{
continue;
}
}
for(size_t i(0);i!=size&&count -
02009-10-01 13:27:51@
我的比较麻烦,新手.......
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
a:array [1..13] of char;
b:array [1..10] of integer;
i:integer;
alls:integer;
checks:integer;
duis:integer;
begin
for i:=1 to 13 do
read(a[i]);
b[1]:=ord(a[1])-48;
for i:=2 to 4 do
b[i]:=ord(a)-48;
for i:=5 to 9 do
b[i]:=ord(a)-48;
if
a[13]='X' then
b[10]:=10
else
b[10]:=ord(a[13])-48;
alls:=b[1] + b[2]*2 + b[3]*3 + b[4]*4 + b[5]*5 + b[6]*6 + b[7]*7 + b[8]*8 + b[9]*9;
checks:= alls mod 11;
if
checks = b[10] then
writeLn('Right');
if
checks b[10] then
begin
if checks=10 then
a[13]:='X'
else begin
duis:=checks + 48;
a[13]:=chr(duis);
end;
for i:= 1 to 13 do
write(a[i]);
end;
end. -
02009-09-22 00:46:57@
少见的简单题,
只要会读字符和转字符就能AC编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-09-20 11:17:49@
var j:array[0..100]of char;
a:array[1..100]of longint;
b,c,d:char; y,z:string;
e,f,i:longint;
begin
read(j[1]);
read(b);
for i:=2 to 4 do read(j[i]);
read(c);
for i:=5 to 9 do read(j[i]);
read(b);
readln(z);
for i:=1 to 9 do val(j[i],a[i]);
for i:=1 to 9 do e:=e+a[i]*i;
f:=e mod 11;
if f=10 then y:='X'
else str(f,y);
if y=z then writeln('Right')
else writeln(a[1],'-',a[2],a[3],a[4],'-',a[5],a[6],a[7],a[8],a[9],'-',y);
end.
竟然提交了两次...就因为x没大写... -
02009-09-20 09:58:18@
program isbn(input,output);
var i,zs:longint;
ab:array [0..10] of longint;
ch:array [0..13] of char;
begin
for i:=1 to 13 do
read(ch[i]);
ab[1]:=ord(ch[1])-48;
for i:=3 to 5 do
ab:=ord(ch[i])-48;
for i:=7 to 11 do
ab:=ord(ch[i])-48;
zs:=0;
for i:=1 to 9 do
zs:=(zs+(ab[i]*i)) mod 11;
ab[10]:=ord(ch[13])-48;
if (zs=ab[10]) or (ch[13]='X') and (zs=10)
then write('Right')
else begin
for i:=1 to 12 do
write(ch[i]);
if zs=10
then write('X')
else write(zs);
end;
end.大家注意细节啊……我的AC率……
-
02009-09-19 21:18:09@
var
s : string ;
i,k,a : longint ;
ch : char ;
begin
readln(s);
k := 0 ;
for i := 1 to length(s)-1 do
if s[i] '-' then
begin
k := k+1 ;
a := a + (ord(s[i])-48) * k;
end;
a := a mod 11 ;
if a=10 then ch := 'X'
else ch := chr(a+48);
if ch = s[length(s)] then write('Right')
else
begin
s[length(s)] := ch ;
for i := 1 to length(s) do write(s[i]);
end;
end.
水题!AC -
02009-09-18 19:55:16@
program p1484;
var
i,a,m:longint;
s,s1:string;
begin
readln(s);s1:=copy(s,1,12);
delete(s,2,1);
delete(s,5,1);
for i:=1 to 9 do
begin
if s[1]'X' then
begin
a:=0;
val(s[1],a);
end
else a:=10;
m:=a*i+m;
delete(s,1,1);
end;
a:=0;
val(s[2],a);
if s[2]='X' then a:=10;
m:=m mod 11;
if a=m then writeln('Right')
else if m10 then writeln(s1,m)
else writeln(s1,'X');
end. -
02009-09-17 18:01:08@
program p1484;
var
sum,i:longint;
ch,ans:char;
s:string;
begin
sum:=0;
for i:= 1 to 9 do
begin
read(ch);
s:=s+ch;
if ch='-' then begin read(ch);s:=s+ch end;
inc(sum,(ord(ch)-48)*i);
end;
sum:=sum mod 11;
if sum=10 then ans:='X'
else ans:=chr(sum+48);
read(ch);read(ch);
if ans = ch then writeln('Right')
else writeln(s,'-',ans);
end. -
02009-09-17 10:57:15@
RP为0了。。。
不知怎么搞的。。交了N次。。太BS我自己了。。。
我已经没有AC率了。。。 -
02009-09-10 14:56:03@
细心啊......
-
02009-09-06 21:05:11@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms水题啊!
program p485;
var
j,sum,i,k:longint;
b:array[1..20]of longint;
a:array[1..20]of char;
begin
j:=0; sum:=0;
for i:=1 to 13 do read(a[i]); readln;
if a[13]='X' then k:=10 else k:=ord(a[13])-48;
for i:=1 to 12 do
begin
if ord(a[i])-48>=0 then
begin
inc(j);
b[j]:=ord(a[i])-48;
end;
end;
for i:=1 to j do sum:=sum+b[i]*i;
if sum mod 11=k then writeln('Right')
else begin
for i:=1 to 12 do write(a[i]);
if sum mod 11=10 then write('X') else write(sum mod 11);
end;
end. -
02009-09-06 20:45:14@
var
x,tx:string[15];
i,j,t,c:longint;
begin
readln(x);
c:=0;
tx:=x;
j:=1;
for i:=1 to 11 do
begin
if x[i]'-'then
begin
c:=c+(ord(x[i])-48)*j;
inc(j);
end;
end;c:=c mod 11;
if c=10 then tx[13]:='x'
else
tx[13]:=char(c+48);if tx=x then writeln('Right')
else
writeln(tx);readln;
readln;end.
-
02009-09-04 15:28:26@
program isbn;
var s:string;
t,p,i:longint;
a:array[1..20] of integer;
begin
read(s);
t:=0;
p:=0;
for i:=1 to length(s)-2 do if s[i]'-' then
begin
t:=t+1;
a[t]:=(ord(s[i])-ord('0'))*t;
p:=p+a[t];
end;
p:=p mod 11;
if (s='X')and(p=10) then begin writeln('Right');halt;end;
if (ord(s)-ord('0'))=p then begin writeln('Right');halt;end
else if p=10 then s:='X'
else s:=chr(p+ord('0'));
writeln(s);
end. -
02009-08-30 08:57:39@
编译通过...
├ 测试数据 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 i,j,temp,t,tol,k:longint;
s,ss,st:string;begin
readln(s);
t:=0;
tol:=0;
for i:=1 to 11 do
begin
if s[i]='-' then
inc(t)
else
begin
val(s[i],temp);
inc(tol,temp*(i-t));
end;
end;
st:='';
val(s[length(s)],temp);
tol:=tol mod 11;
if tol=10 then st:='X';
if (temp=tol) or (st=s[length(s)]) then
begin
writeln('Right');
halt;
end
else
begin
str(tol,ss);
for i:=length(s) downto 1 do
if s[i]='-' then
begin
k:=i;
break;
end;
delete(s,k+1,length(s)-k);
if st'' then s:=s+st
else
s:=s+ss;
writeln(s);
end;
end.我也不知道说什么。。
出乎我的意料。。。 居然AC了。。 -
02009-08-26 13:12:53@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案错误...程序输出比正确答案长
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案错误...程序输出比正确答案长
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:80 有效耗时:0ms
郁闷,为什么会程序输出比正确答案长呢? -
02009-08-21 16:25:50@
80分的注意了
输入的字符串最后一位是X
program p1484(input,output);
var
s:string;
a:array[1..10]of integer;
i,j:integer;
begin
readln(s);
j:=1;
for i:=1 to 12 do
if s[i]'-'
then
begin
a[j]:=ord(s[i])-ord('0');
inc(j);
end;
if s[13]='X'
then a[10]:=10
else a[10]:=ord(s[13])-ord('0');
j:=0;
for i:=1 to 9 do
j:=j+a[i]*i;
j:=j mod 11;
if j=a[10]
then writeln('Right')
else
begin
if j=10
then s[13]:='X'
else s[13]:=chr(j+ord('0'));
writeln(s);end;
end.