比赛 |
NOIP模拟赛by mzx Day2 |
评测结果 |
WATTTTTTTT |
题目名称 |
拯救紫萱学姐 |
最终得分 |
10 |
用户昵称 |
燕哥到此一游 |
运行时间 |
8.191 s |
代码语言 |
Pascal |
内存使用 |
0.15 MiB |
提交时间 |
2016-10-20 21:55:39 |
显示代码纯文本
program fuckyoupentuple;
var
fin,fout:text;
st,st1,st2:string;
i,j,sum,max,min,len:longint;
procedure cut(s1,s2:string);
var
o,p,m,len1,len2:longint;
stt1,stt2:string;
begin
len1:=length(s1);
len2:=length(s2);
for o:=0 to len1 do
begin
stt1:=copy(st1,1,o);
{ if stt1=copy(st1,len1-o+1,o) then
begin }
for p:=0 to len2 do
begin
stt2:=copy(st2,1,p);
if (stt1=copy(st1,len1-o+1,o)) and (stt2=copy(st2,len2-p+1,p)) then
begin
if stt1=stt2 then
begin
sum:=sum+sqr((len1-length(stt1)))+sqr((len2-length(stt2)));
if sum<min
then min:=sum;
if (stt1<>'') or (stt2<>'')
then m:=0
else if (stt1<>'') and (stt2<>'')
then
begin
cut(stt1,stt2);
end;
if sum<min
then min:=sum;
end
else
begin
if (stt1<>'') or (stt2<>'')
then m:=0
else if (stt1<>'') and (stt2<>'')
then
begin
cut(stt1,stt2);
end;
if sum<min
then min:=sum;
end;
end;
end;
end;
end;
begin
assign(fin,'savemzx.in');
assign(fout,'savemzx.out');
reset(fin);
rewrite(fout);
readln(fin,st);
len:=length(st);
max:=0;
for i:=1 to len do
begin
st1:=copy(st,1,i);
for j:=i+1 to len do
begin
st2:=copy(st,1,j);
min:=maxlongint;
sum:=0;
cut(st1,st2);
if min>max
then max:=min;
end;
end;
writeln(fout,max);
close(fin);
close(fout);
end.