问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

pascal程序查病毒

发布网友 发布时间:2024-09-27 18:08

我来回答

3个回答

热心网友 时间:2024-10-15 16:42

var st:string;
n,l,i,j,ans:longint;
function check:boolean;{判断是否是最长回文子串}
var k,t:longint;
begin
t:=i+j;
for k:=i to (t div 2) do
if(st[k]<>st[t-k])then exit(false);
exit(true);
end;
begin
assign(input,'D.in');
reset(input);
assign(output,'D.out');
rewrite(output);
readln(st);
n:=length(st);
ans:=1;{记录找到的最长回文子串的长度}
for i:=1to n do
for j:=i+1 to n do{枚举最长回文子串}
begin
l:=j-i+1;{记录最长回文子串的长度}
if(check)and(l>ans){找到更长的最长回文子串}then ans:=l;
end;
writeln(ans);
close(input);
close(output);
end.
这个算法的时间复杂度应该是O(n^3),应该还有更快的方法。不过n<=100这个算法完全不会超时。
其实好像也可以根据最长回文子串的长度来二分答案(如果存在一个最长回文子串,那么必然存在这样的回文子串,他的长度比最长回文子串小2*k,k=1,2,3……)不过这样就要考虑一下奇偶了,时间复杂度应该是O(log2,n*n^2)。你认真想一下吧!
var st:string;
n,l,i,j,ans:longint;
function check:boolean;{判断是否是最长回文子串}
var k,t:longint;
begin
t:=i+j;
for k:=i to (t div 2) do
if(st[k]<>st[t-k])then exit(false);
exit(true);
end;
begin
assign(input,'D.in');
reset(input);
assign(output,'D.out');
rewrite(output);
readln(st);
n:=length(st);
ans:=1;{记录找到的最长回文子串的长度}
for i:=1to n do
for j:=i+1 to n do{枚举最长回文子串}
begin
l:=j-i+1;{记录最长回文子串的长度}
if(check)and(l>ans){找到更长的最长回文子串}then ans:=l;
end;
writeln(ans);
close(input);
close(output);
end.
这个算法的时间复杂度应该是O(n^3),应该还有更快的方法。不过n<=100这个算法完全不会超时。
其实好像也可以根据最长回文子串的长度来二分答案(如果存在一个最长回文子串,那么必然存在这样的回文子串,他的长度比最长回文子串小2*k,k=1,2,3……)不过这样就要考虑一下奇偶了,时间复杂度应该是O(log2,n*n^2)。你认真想一下吧!

热心网友 时间:2024-10-15 16:42

用杀毒软件来查毒,很快就知道了,不用这么麻烦。

热心网友 时间:2024-10-15 16:43

var st:string;
n,l,i,j,ans:longint;
function check:boolean;{判断是否是最长回文子串}
var k,t:longint;
begin
t:=i+j;
for k:=i to (t div 2) do
if(st[k]<>st[t-k])then exit(false);
exit(true);
end;
begin
assign(input,'D.in');
reset(input);
assign(output,'D.out');
rewrite(output);
readln(st);
n:=length(st);
ans:=1;{记录找到的最长回文子串的长度}
for i:=1to n do
for j:=i+1 to n do{枚举最长回文子串}
begin
l:=j-i+1;{记录最长回文子串的长度}
if(check)and(l>ans){找到更长的最长回文子串}then ans:=l;
end;
writeln(ans);
close(input);
close(output);
end.
这个算法的时间复杂度应该是O(n^3),应该还有更快的方法。不过n<=100这个算法完全不会超时。
其实好像也可以根据最长回文子串的长度来二分答案(如果存在一个最长回文子串,那么必然存在这样的回文子串,他的长度比最长回文子串小2*k,k=1,2,3……)不过这样就要考虑一下奇偶了,时间复杂度应该是O(log2,n*n^2)。你认真想一下吧!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...我想退掉一张办后从未用过的工商银行的牡丹灵通卡,应该怎么做呢?要... 今天办理了工商银行卡,顺带开通网银,要每年缴费10元,手机也要收费,很麻... Microsoft VBScript 运行时错误 (0x800A000D)类型不匹配: 'rsup' 关于VFP,谁知道这个为什么报操作符/操作数类型不匹配啊! 数据查询提示“数据类型不匹配” ...介绍《天下无贼》的歌曲说明:谁能告诉我阿 ? ...不起来叫什么名了·请弟兄姊妹帮帮忙·急需···里面的歌词是... ...你是千堆雪我是长街,怕日出一到彼此瓦解这句歌词的意思? 两个人合伙开一个室内设计工作室,都是男的,求一个响亮内涵的名字!高 ... 饥荒红薯怎么种植 《我是哪吒》百度云资源,收钱的走开 分红型保险退保能退多少本金? 如何在电脑桌面设置动态的壁纸呢? 淘宝快递如何设置隐私面单? 如何查看高德地图实时拥堵状况? 高德地图怎么看高速堵不堵车 NBA的博威金斯2007赛季在哪个队哦? 手机怎么查家里WiFi密码多少人用了 小米智能插座电量统计准吗 碎银子茶如何喝 普洱茶碎银子的危害 生活中哪些方法可以降血糖 茶化石是什么 茶化石是什么茶 宝贝句子发朋友圈简短 新塘有哪些幼儿园 “年年春色为谁来”的出处是哪里 爱情公寓3关谷给彪老板画的那幅被曾小贤拿起来看的画有什么内涵_百度知 ... “下马登邺城”的出处是哪里 单寒飞扮演者陈翔 敛获是什么意思啊? 买回来的蔬菜如何放保鲜 怎么保存蔬菜 煤改电表显示R11是啥意思? 702702是什么意思? r11全网通是什么意思? 标签打印机如何装纸 别开蹊径的意思 如何安装打印机标签纸? 别开蹊径的反义词 如何让文档标题字号统一调整为一种大小 word中怎么让字体的大小和输入的一样? 恩施大峡谷景点有哪些 空气净化器能测出甲醛吗 去恩施大峡谷能领略到怎样的自然风光? 恩施大峡谷有哪些景点 恩施大峡谷必玩的三个景点 生的菜放在冰箱冷藏 被冻伤了 还能吃吗 要是能吃的话 会不会味道会变... 引测高程要注意什么 引入水准测量什么意思 梳子能代表什么意思? steam上壁纸软件叫什么名字? 玉檀梳子起什么作用