129 条题解
-
0S.Y.F LV 10 @ 2013-07-28 20:41:21
-
02013-03-03 08:51:36@
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
string c,s; stringstream ss;
int main()
{
int i;
cin>>c;
for(i=1;i<=2000000;++i) ss<<i;
s=ss.str();
if((i=s.find(c))!=-1)cout<<i+1<<endl;
return 0;
}
//过二十三组 = = -
02013-02-16 10:09:59@
-
02012-11-12 17:33:20@
/*
题解:
1.通过模拟找出字符串最小的起始数字 minf ;
2.简单的推导表达式求出结果。
*/#include
#include
#include
#define MAXN 210int n, fp , ansp;
char str[MAXN], minf[MAXN], fir[MAXN], ans[MAXN], temp[MAXN], next[MAXN], ret[MAXN] ;inline void swap(char &a,char &b) //交换字符
{
char tmp ;
tmp = a, a = b, b = tmp ;
}
void get_Adjacent(char t[], int x)//得到t相邻的数
{//x = -1减,x = 1加1;
char s[MAXN] ;
int i, flag = 0 , len = strlen(t) ;
for(i = 0 ; i = 0 && s[i] == '0' ; i --) ;
if(i >= 0) s[i] -- ;
if(len > 1 && s[0] == '0') flag = -1 ;
for(i=i+1 ; i < len ; i ++) s[i] = '9' ;
}
else
{
for(i = len-1 ; i >= 0 && s[i] == '9' ; i --) ;
if(i >= 0) s[i] ++ ;
else flag = 1 ;
for(i = i + 1; i < len ; i ++) s[i] = '0' ;
}
i = 0 ;
if(flag == 1) next = '1' ;
for(; i < len+flag ; i ++) next[i] = s ; next[i] = '\0' ;
}
bool judgment(int p, int len )//判断是否是999991000000这种情况;
{
int i ;
if(str[p] != '1') return false ;
for(i = 1 ; i < p ; i ++)
if(str[i] != '9') return false ;
for(i = 1 ; i+p ls) return ;
if(lt < ls)
{
strcpy(s,t) ; ansp = fp ;
return ;
}
for(i = 0 ; i < ls ; i ++)
{
if(s[i] > t[i]) break ;
else if(s[i] < t[i]) return ;
}
strcpy(s,t) ;
ansp = fp ;
}
void find_FirstNumber()//找到字符串的开始数字;
{
int i, j, k, l, len , cnt;
for(i = 0 ; i < MAXN-2 ; i++) minf[i] = 'A' ; minf[MAXN-1] = '\0' ;
for(l = 1 ; l -
02012-10-16 13:19:04@
VijosNT Mini 2.0.5.7 Special for Vijos
编译通过...
├ 测试数据 01:答案正确... (0ms, 668KB)
├ 测试数据 02:答案正确... (0ms, 672KB)
├ 测试数据 03:答案正确... (0ms, 664KB)
├ 测试数据 04:答案正确... (0ms, 668KB)
├ 测试数据 05:答案正确... (0ms, 704KB)
├ 测试数据 06:答案正确... (0ms, 668KB)
├ 测试数据 07:答案正确... (0ms, 668KB)
├ 测试数据 08:答案正确... (0ms, 708KB)
├ 测试数据 09:答案正确... (0ms, 704KB)
├ 测试数据 10:答案正确... (0ms, 724KB)
├ 测试数据 11:答案正确... (0ms, 932KB)
├ 测试数据 12:答案正确... (0ms, 704KB)
├ 测试数据 13:答案正确... (0ms, 812KB)
├ 测试数据 14:答案正确... (0ms, 708KB)
├ 测试数据 15:答案正确... (0ms, 664KB)
├ 测试数据 16:答案正确... (0ms, 664KB)
├ 测试数据 17:答案正确... (0ms, 664KB)
├ 测试数据 18:答案正确... (0ms, 668KB)
├ 测试数据 19:答案正确... (0ms, 668KB)
├ 测试数据 20:答案正确... (0ms, 704KB)
├ 测试数据 21:答案正确... (0ms, 704KB)
├ 测试数据 22:答案正确... (0ms, 704KB)
├ 测试数据 23:答案正确... (0ms, 704KB)
├ 测试数据 24:答案正确... (0ms, 704KB)
├ 测试数据 25:答案正确... (0ms, 1064KB)
├ 测试数据 26:答案正确... (0ms, 1052KB)
├ 测试数据 27:答案正确... (0ms, 664KB)
├ 测试数据 28:答案正确... (0ms, 740KB)
├ 测试数据 29:答案正确... (0ms, 1292KB)
├ 测试数据 30:答案正确... (0ms, 812KB)
├ 测试数据 31:答案正确... (0ms, 816KB)
├ 测试数据 32:答案正确... (0ms, 928KB)
├ 测试数据 33:答案正确... (0ms, 844KB)
├ 测试数据 34:答案正确... (0ms, 664KB)
├ 测试数据 35:答案正确... (0ms, 704KB)
├ 测试数据 36:答案正确... (0ms, 1484KB)
├ 测试数据 37:答案正确... (0ms, 1176KB)
├ 测试数据 38:答案正确... (0ms, 812KB)
├ 测试数据 39:答案正确... (0ms, 824KB)
├ 测试数据 40:答案正确... (0ms, 964KB)---|---|---|---|---|---|---|---|-
Accepted / 100 / 0ms / 1484KBtype
numtype=record
len:longint;
num:array[1..300] of longint;
end;
var
value:array[1..200] of ansistring;
str:ansistring;
len:longint;
ans:numtype;
function convert(a:ansistring):numtype;
var
i:longint;
begin
fillchar(convert,sizeof(convert),0);
convert.len:=length(a);
for i:=1 to convert.len do
convert.num[i]:=ord(a[convert.len-i+1])-48;
end;
procedure dfs(dep,now:longint);
var
i:longint;
tmp:numtype;
procedure min(var a,b:numtype);
var
i:longint;
begin
if b.lenb.num[i] then a:=b;
end;
end;
function max(a,b:longint):longint;
begin
if a>b then max:=a
else max:=b;
end;
function last(var a:ansistring):ansistring;
var
j:longint;
begin
last:=a;
j:=length(last);
last[j]:=pred(last[j]);
while last[j]1) and (next[j]>'9') do
begin
next[j]:='0';
dec(j);
inc(next[j]);
end;
if next[1]>'9' then
begin
next[1]:='0';
next:='1'+next;
end;
end;
function left(a:ansistring;var b:ansistring):boolean;
var
i:longint;
begin
if length(b)>length(a) then exit(false);
left:=true;
for i:=1 to length(b) do
if a[i]b[i] then
begin
left:=false;
break;
end;
end;
function right(a:ansistring;var b:ansistring):boolean;
var
i:longint;
begin
if length(b)>length(a) then exit(false);
right:=true;
for i:=1 to length(b) do
if a[length(a)-length(b)+i]b[i] then
begin
right:=false;
break;
end;
end;
function match(var a:ansistring;b:ansistring):ansistring;
var
tmp:ansistring;
lb,i,j:longint;
flag:boolean;
begin
lb:=length(b);
tmp:=b;
b:=next(b);
if length(b)>lb then delete(b,1,1);
for i:=1 to length(a)+1 do
if length(a)-i+11) and (jian.num[jian.len]=0) do dec(jian.len);
end;
function cheng(a:numtype;b:longint):numtype;
var
i:longint;
begin
fillchar(cheng,sizeof(cheng),0);
for i:=1 to a.len do
cheng.num[i]:=a.num[i]*b;
for i:=1 to a.len+3 do
begin
inc(cheng.num,cheng.num[i] div 10);
cheng.num[i]:=cheng.num[i] mod 10;
end;
while (i>1) and (cheng.num[i]=0) do dec(i);
cheng.len:=i;
end;
function find(a:ansistring):numtype;
var
tmp,t:numtype;
i:longint;
begin
tmp:=convert(a);
t:=convert('9');
find:=convert('0');
for i:=1 to tmp.len-1 do
begin
find:=jia(find,cheng(t,i));
t:=cheng(t,10);
end;
dec(tmp.num[tmp.len]);
find:=jia(find,cheng(tmp,tmp.len));
find:=jia(find,convert('1'));
end;
begin
if now=3) and (i=len) then
begin
if left(next(value[dep-1]),value[dep]) then dfs(dep+1,i+1);
end
else
begin
if next(value[dep-1])=value[dep] then dfs(dep+1,i+1);
end;
end;
end
else
begin
case dep of
2:
begin
if value[1][1]='0' then tmp:=jia(find('1'+value[1]),convert('1'))
else tmp:=find(value[1]);
end;
3:
begin
tmp:=jian(find(match(value[2],value[1])),length(value[1]))
end;
else
begin
tmp:=jian(find(value[2]),length(value[1]));
end;
end;
min(ans,tmp);
end;
end;
procedure print(var a:numtype);
var
i:longint;
begin
for i:=a.len downto 1 do
write(a.num[i]);
writeln;
end;
begin
readln(str);
len:=length(str);
ans.len:=300;
dfs(1,1);
print(ans);
end. -
02012-08-23 21:56:36@
VijosNT Mini 2.0.5.7 Special for Vijos
foo.pas(10,8) Warning: Variable "a" does not seem to be initialized
├ 测试数据 01:答案正确... (663ms, 1020KB)
├ 测试数据 02:答案正确... (721ms, 1020KB)
├ 测试数据 03:答案正确... (38ms, 1020KB)
├ 测试数据 04:答案正确... (38ms, 1020KB)
├ 测试数据 05:答案正确... (14ms, 1020KB)
├ 测试数据 06:答案正确... (10ms, 1020KB)
├ 测试数据 07:答案正确... (14ms, 1020KB)
├ 测试数据 08:答案正确... (22ms, 1020KB)
├ 测试数据 09:答案错误... (26ms, 1020KB)
├ 测试数据 10:答案正确... (22ms, 1020KB)
├ 测试数据 11:答案正确... (10ms, 1020KB)
├ 测试数据 12:答案正确... (7ms, 1020KB)
├ 测试数据 13:答案错误... (22ms, 1020KB)
├ 测试数据 14:答案正确... (18ms, 1020KB)
├ 测试数据 15:答案正确... (0ms, 1020KB)
├ 测试数据 16:答案正确... (0ms, 1020KB)
├ 测试数据 17:答案错误... (7ms, 1020KB)
├ 测试数据 18:答案正确... (0ms, 1020KB)
├ 测试数据 19:答案正确... (0ms, 1020KB)
├ 测试数据 20:答案正确... (0ms, 1020KB)
├ 测试数据 21:答案正确... (46ms, 1020KB)
├ 测试数据 22:答案错误... (22ms, 1020KB)
├ 测试数据 23:答案错误... (10ms, 1020KB)
├ 测试数据 24:答案错误... (0ms, 1020KB)
├ 测试数据 25:答案正确... (0ms, 1020KB)
├ 测试数据 26:答案错误... (0ms, 1020KB)
├ 测试数据 27:答案错误... (14ms, 1020KB)
├ 测试数据 28:答案错误... (30ms, 1020KB)
├ 测试数据 29:答案错误... (10ms, 1020KB)
├ 测试数据 30:答案错误... (14ms, 1020KB)
├ 测试数据 31:答案错误... (0ms, 1020KB)
├ 测试数据 32:答案正确... (3ms, 1020KB)
├ 测试数据 33:答案错误... (0ms, 1020KB)
├ 测试数据 34:答案错误... (0ms, 1020KB)
├ 测试数据 35:答案错误... (0ms, 1020KB)
├ 测试数据 36:答案正确... (3ms, 1020KB)
├ 测试数据 37:答案错误... (0ms, 1020KB)
├ 测试数据 38:答案错误... (0ms, 1020KB)
├ 测试数据 39:答案错误... (0ms, 1020KB)
├ 测试数据 40:答案正确... (0ms, 1020KB)---|---|---|---|---|---|---|---|-
Unaccepted / 64 / 1636ms / 1020KB大牛相助~!
kmp算法为何有错?var
a,b,oo:ansistring;
p:array[1..300]of longint;
i,j,n,m:longint;
begin
readln(b);
for i:=1 to 10000 do
begin
str(i,oo);
a:=a+oo;
end;
n:=length(a);
m:=length(b);
p[1]:=0;
j:=0;
for i:=2 to m do
begin
while (j>0) and (b[j+1]b[i]) do j:=p[j];
if b[j+1]=b[i] then j:=j+1;
p[i]:=j;
end;
j:=0;
for i:=1 to n do
begin
while (j>0) and (b[j+1]a[i]) do j:=p[j];
if b[j+1]=a[i] then j:=j+1;
if j=m then
begin
writeln(i-m+1);
halt;
end;
end;
end. -
02012-08-20 22:41:25@
├ 测试数据 01:答案正确... (30ms, 616KB)
├ 测试数据 02:答案正确... (53ms, 616KB)
├ 测试数据 03:答案正确... (30ms, 616KB)
├ 测试数据 04:答案正确... (34ms, 616KB)
├ 测试数据 05:答案正确... (0ms, 688KB)
├ 测试数据 06:答案正确... (0ms, 616KB)
├ 测试数据 07:答案正确... (14ms, 724KB)
├ 测试数据 08:答案正确... (30ms, 688KB)
├ 测试数据 09:运行超时... (?, 984KB)
├ 测试数据 10:答案正确... (42ms, 616KB)
├ 测试数据 11:答案正确... (0ms, 984KB)
├ 测试数据 12:答案错误... (237ms, 984KB)
├ 测试数据 13:运行超时... (?, 984KB)
├ 测试数据 14:答案正确... (0ms, 984KB)
├ 测试数据 15:答案正确... (0ms, 616KB)
├ 测试数据 16:答案正确... (0ms, 616KB)
├ 测试数据 17:运行超时... (?, 984KB)
├ 测试数据 18:答案正确... (0ms, 688KB)
├ 测试数据 19:答案正确... (0ms, 984KB)
├ 测试数据 20:答案正确... (0ms, 984KB)
├ 测试数据 21:答案正确... (22ms, 984KB)
├ 测试数据 22:运行超时... (?, 984KB)
├ 测试数据 23:运行超时... (?, 984KB)
├ 测试数据 24:运行超时... (?, 984KB)
├ 测试数据 25:答案正确... (0ms, 688KB)
├ 测试数据 26:运行超时... (?, 984KB)
├ 测试数据 27:运行超时... (?, 984KB)
├ 测试数据 28:运行超时... (?, 984KB)
├ 测试数据 29:运行超时... (?, 984KB)
├ 测试数据 30:运行超时... (?, 984KB)
├ 测试数据 31:运行超时... (?, 984KB)
├ 测试数据 32:答案正确... (10ms, 984KB)
├ 测试数据 33:运行超时... (?, 984KB)
├ 测试数据 34:运行超时... (?, 984KB)
├ 测试数据 35:运行超时... (?, 984KB)
├ 测试数据 36:答案正确... (0ms, 688KB)
├ 测试数据 37:运行超时... (?, 984KB)
├ 测试数据 38:运行超时... (?, 984KB)
├ 测试数据 39:运行超时... (?, 984KB)
├ 测试数据 40:答案正确... (0ms, 984KB)---|---|---|---|---|---|---|---|-
Unaccepted / 62 / ? / 984KB
暴力62分,想想有别的办法没 -
02012-08-08 21:11:05@
高精度去死吧!
为此我专门写了一个头文件。。。。。。
#ifndef HUGEINT
#define HUGEINT
#include
using namespace std;
class hugeint
{
//---|---|---|---|---|---|---|-以下为友元---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|-
friend istream operator>> (istream&,hugeint&);
friend ostream operator (istream& is)
{
int i;
is>>s;
len=s.size();
for (i=1;i -
02010-07-09 17:35:15@
var a,b,r:ansistring;
x,i:longint;
begin
readln(b);
for i:=1to 100000do
begin
str(i,r);
a:=a+r;
end;
x:=pos(b,a);
writeln(x);
end.
暴力55 -
02010-07-05 09:17:54@
发现KMP之比暴力破解多3分 我无奈地囧了
-
02009-11-15 20:48:36@
有没有人知道第32组数据是多少啊...我怎么都过不了第32组数据....和题解里面的数据全部拍了是一样的啊,,ural上的数据也拍了也是一样的啊....ural上第32组数我也是错的,,,....有没有人能告诉我饿..???
-
02009-11-10 10:38:27@
program p12;
var i:int64;
S:ansistring;
ss,st:string;
begin
i:=0;
s:='';
readln(ss);
repeat
inc(i);
str(i,st);
s:=s+st;
until pos(ss,s)0 ;
writeln(pos(ss,s));
end.精简的程序、、52分、、但是性价比高啊
-
02009-11-09 14:29:53@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
├ 测试数据 11:答案正确... 0ms
├ 测试数据 12:答案正确... 0ms
├ 测试数据 13:答案正确... 0ms
├ 测试数据 14:答案正确... 0ms
├ 测试数据 15:答案正确... 0ms
├ 测试数据 16:答案正确... 0ms
├ 测试数据 17:答案正确... 0ms
├ 测试数据 18:答案正确... 0ms
├ 测试数据 19:答案正确... 0ms
├ 测试数据 20:答案正确... 0ms
├ 测试数据 21:答案正确... 0ms
├ 测试数据 22:答案正确... 0ms
├ 测试数据 23:答案正确... 0ms
├ 测试数据 24:答案正确... 0ms
├ 测试数据 25:答案正确... 0ms
├ 测试数据 26:答案正确... 0ms
├ 测试数据 27:答案正确... 0ms
├ 测试数据 28:答案正确... 0ms
├ 测试数据 29:答案正确... 0ms
├ 测试数据 30:答案正确... 0ms
├ 测试数据 31:答案正确... 0ms
├ 测试数据 32:答案正确... 0ms
├ 测试数据 33:答案正确... 0ms
├ 测试数据 34:答案正确... 0ms
├ 测试数据 35:答案正确... 0ms
├ 测试数据 36:答案正确... 0ms
├ 测试数据 37:答案正确... 0ms
├ 测试数据 38:答案正确... 0ms
├ 测试数据 39:答案正确... 0ms
├ 测试数据 40:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-11-08 08:55:41@
求求上帝把这道题删掉,这种比一般恶心更恶心的题目,迫害我们oier的大脑!!!!
-
02009-11-07 17:33:11@
对于这种KMP都过不去的题...
我
Orz -
02009-11-04 19:41:54@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
├ 测试数据 11:答案正确... 0ms
├ 测试数据 12:答案正确... 0ms
├ 测试数据 13:答案正确... 0ms
├ 测试数据 14:答案正确... 0ms
├ 测试数据 15:答案正确... 0ms
├ 测试数据 16:答案正确... 0ms
├ 测试数据 17:答案正确... 0ms
├ 测试数据 18:答案正确... 0ms
├ 测试数据 19:答案正确... 0ms
├ 测试数据 20:答案正确... 0ms
├ 测试数据 21:答案正确... 0ms
├ 测试数据 22:答案正确... 0ms
├ 测试数据 23:答案正确... 0ms
├ 测试数据 24:答案正确... 0ms
├ 测试数据 25:答案正确... 0ms
├ 测试数据 26:答案正确... 0ms
├ 测试数据 27:答案正确... 0ms
├ 测试数据 28:答案正确... 0ms
├ 测试数据 29:答案正确... 0ms
├ 测试数据 30:答案正确... 0ms
├ 测试数据 31:答案正确... 0ms
├ 测试数据 32:答案正确... 0ms
├ 测试数据 33:答案正确... 0ms
├ 测试数据 34:答案正确... 0ms
├ 测试数据 35:答案正确... 0ms
├ 测试数据 36:答案正确... 0ms
├ 测试数据 37:答案正确... 0ms
├ 测试数据 38:答案正确... 0ms
├ 测试数据 39:答案正确... 0ms
├ 测试数据 40:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms膜拜huyue神牛的数据‘0’直接让我由92分变AC!
注意全‘0’的情况! -
02009-11-01 13:34:14@
感动啊~ 终于A了~
ural上有大量数据~ -
02009-10-30 19:25:25@
const
maxl = 2000;
type
bitnode = array[0..maxl+1]of longint;
var
len, c,n: longint;
t : array[1..maxl]of shortint;
best, a, b : bitnode;
procedure init;
var
st : string[200];
i : longint;
begin
readln(st);
len := length(st);
for i := 1 to len do begin
t[i] := ord(st[i])-48;
end;
end;
procedure dec1(var a : bitnode);
var i : longint;
begin
i := 1;
while a[i] = 0 do begin
a[i] := 9; inc(i);
end;
dec(a[i]);
if (a[0] > 1) and (a[a[0]] = 0) then dec(a[0]);
end;
procedure inc1(var a : bitnode);
var i : longint;
begin
i := 1;
inc(a[i]);
while a[i] = 10 do begin
a[i] := 0;
inc(i);
inc(a[i]);
end;
if a[a[0]+1] 0 then inc(a[0]);
end;
function match(i : longint) : boolean;
var j : longint;
begin
if a[0] < i then begin
if t[1] 8 then exit(false);
for j := 1 to a[0] do begin
if t a[j] then exit(false);
end;
exit(true);
end else begin
for j := 1 to i do
if t a[j] then exit(false);
exit(true);
end;
end;
function can(i : longint) : boolean;
var j : longint;
begin
while i < len do begin
inc1(b);
j := i+1;
while (j b[0] then exit(true);
if a[0] < b[0] then exit(false);
for i := a[0] downto 1 do begin
if a[i] > b[i] then exit(true);
if a[i] < b[i] then exit(false);
end;
exit(false);
end;
procedure main;
var l, i, j, tem : longint; flag : boolean;
begin
flag := true;
for i := 1 to len do if t[i] 0 then begin flag := false; break; end;
if flag then begin
best[0] := len+1; best[best[0]] := 1; c := 1;
print;
end;
for i := 1 to len do best[i] := t[len-i+1];
best[0] := len;
if t[1] = 0 then begin
inc(best[0]);
best[best[0]] := 1;
end;
for i := len-len shr 1-1 downto 0 do begin
flag := true;
for j := 1 to i do if t[j] t[len-i+j] then begin
flag := false; break;
end;
if flag then begin
a[0] := len-i;
tem := 0;
for j := 1 to a[0] do a[j] := t[a[0]-j+1];
for j := 1 to a[0]-i do begin
if (a[a[0]] 0) and ((i = 0) or (a[1] 9) or (t 9)) then if bigger(best, a) then begin best := a; c := tem; end;
a[a[0]+1] := a[1];
for l := 1 to a[0] do a[l] := a[l+1];
a[a[0]+1] := 0;
inc(tem);
end;
end;
end;
for l := 1 to best[0] do begin
for i := l downto 1 do if (i < len) and (t 0) then begin
fillchar(b, sizeof(b), 0);
b[0] := l;
for j := l downto 1 do begin
if i+l-j+1 > len then break;
b[j] := t;
end;
if (b[0] = 1) and (b[1] = 1) then continue;
a := b; dec1(a);
if match(i)
and can(i+l) then begin
if bigger(best, a) then begin
c := a[0]-i;
best := a;
end;
end;
end;
end;
print;
end;
begin
init;
main;
end. -
02009-10-24 14:58:21@
这题够损!
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
├ 测试数据 11:答案正确... 0ms
├ 测试数据 12:答案正确... 0ms
├ 测试数据 13:答案正确... 0ms
├ 测试数据 14:答案正确... 0ms
├ 测试数据 15:答案正确... 0ms
├ 测试数据 16:答案正确... 0ms
├ 测试数据 17:答案正确... 0ms
├ 测试数据 18:答案正确... 0ms
├ 测试数据 19:答案正确... 0ms
├ 测试数据 20:答案正确... 0ms
├ 测试数据 21:答案正确... 0ms
├ 测试数据 22:答案正确... 0ms
├ 测试数据 23:答案正确... 0ms
├ 测试数据 24:答案正确... 0ms
├ 测试数据 25:答案正确... 0ms
├ 测试数据 26:答案正确... 0ms
├ 测试数据 27:答案正确... 0ms
├ 测试数据 28:答案正确... 0ms
├ 测试数据 29:答案正确... 0ms
├ 测试数据 30:答案正确... 0ms
├ 测试数据 31:答案正确... 0ms
├ 测试数据 32:答案正确... 0ms
├ 测试数据 33:答案正确... 0ms
├ 测试数据 34:答案正确... 0ms
├ 测试数据 35:答案正确... 0ms
├ 测试数据 36:答案正确... 0ms
├ 测试数据 37:答案正确... 0ms
├ 测试数据 38:答案正确... 0ms
├ 测试数据 39:答案正确... 0ms
├ 测试数据 40:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms#include
using namespace std;
typedef int array[410];
int n;int test1(array a,int p,int q)
{
int flag=0,f,i,j,k,p1,q1,pp,qq;
array b,c;
p1=p;q1=q;
do
{
pp=p;qq=q;
for (i=p;i=q+1;i--)
{
b[i]=a;
if (b>=10)
{
b-=10;
b[i]++;
}
}
if (flag) b[q+1]=1;
for (i=q+1;in) break;
if (a[i]!=b[i]) return 0;
}
p=qq+1;
q=2*qq-pp+flag+1;
}while (i -
02009-10-19 21:44:16@
暴力55分啊
program p1005;
var
s,s1,a,a1:string;
i,l,ll:int64;
j:longint;
t:boolean;
begin
readln(s);
l:=length(s);
a:='';
ll:=1;
i:=1;
while t=false do
begin
str(i,s1);
a1:=a+s1;
for j:=1 to length(a1)-l+1 do
if copy(a1,j,l)=s then
begin
writeln(j+ll-1);
t:=true;
break;
end;
if length(a1)>=l then
ll:=ll+length(a1)-l+1;
a:=copy(a1,length(a1)-l+2,l-1);
i:=i+1
end;
end.
程序简便么用啊