算法复现 - 病毒感染检测(案例4.1算法4.5)

这篇具有很好参考价值的文章主要介绍了算法复现 - 病毒感染检测(案例4.1算法4.5)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第1关:案例4_1 病毒感染检测文章来源地址https://www.toymoban.com/news/detail-741852.html

#include <iostream>
#define maxsiz 20
#include<string.h>
using namespace std;

typedef struct Ssring//串的定长顺序结构
{
    char ch[maxsiz+1];//储存串的一维数组;
    int length;//串的当前长度
}Ssring;
int GetLength(char *L)//得到字符数组的长度
{
    int n = 0;
    char *p = L;
    while(*p!='\0')
    {
        n++;
        p++;
    }
    return n;
}
void inistSstring(Ssring * L)//初始化串
{
    char a[maxsiz];//定义一个辅助数组
    cin>>a;
    char *p= L->ch;//定义一个字符指针,指向串里面的数组
    strcpy(++p,a);//在数组的下标为1的位置开始赋值,注意为了方便,我们不采用0开始的下标
    L->length = GetLength(a);//顺便给长度赋值
}
int index(Ssring L1,char* L2,int pos,int L2_length)//返回模式L2在主串L1中第pos个字符开始第一次出现的位置。如果不存在,则返回值为0
{
    /******************Begin*********************/
	int i = pos,j = 1;
    while(i <= L1.length && j <= L2_length)
    {
        if(L1.ch[i] == L2[j]) i ++ ,j ++ ;
        else i = i - j + 2,j = 1;
    }

    if(j > L2_length) return i - L2_length;
    else return 0;
    /**********************End*******************/
}
int virus_detection(Ssring person,Ssring virus)
{
    int flag = 0;//设置一个标志
    int  m = virus.length;
    char temp[virus.length+1];//定义一个辅助数组,但我们为了方便,储存数据时,在下标为一时开始。所以要length+1个空间
    for(int i = m+1,j=1;j<=m;j++)//将病毒的dna再复制一遍,跟在原来的dna后面。因为病毒dna是循环的。所以,我们要检测它所有的可能
    {
        virus.ch[i++]=virus.ch[j];
    }
    virus.ch[2*m+1]='\0';//别忘记这里
    for(int i=0;i<m;i++)//知道了病毒dna的长度,每循环一次可得到病毒的一种dna序列
    {
        for(int j=1;j<=m;j++)
         {
             temp[j]=virus.ch[i+j];
         }
         temp[m+1]='\0';
         //flag = index(person,temp,1,virus.length);//在这里采用BF算法即可
         flag = index(person,temp,1,virus.length);
		 if(flag) break;
    }
    if(flag)
        return 1;
    else
        return 0;
}
int main()
{
    int n,flag;
    cin>>n;
	while(n--)
    {
	    Ssring L1;
	    Ssring L2;    
	    inistSstring(&L2);
		inistSstring(&L1);
	    flag=virus_detection(L1,L2);
	    if(flag)cout<<"YES"<<endl;
	    else 
	    	cout<<"NO"<<endl;
    }
    return 0;
} 

到了这里,关于算法复现 - 病毒感染检测(案例4.1算法4.5)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • edcoder数据结构第1关:基于BF算法的病毒感染监测

    来源BJFUOJ 任务描述 医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。现在研究者收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒。为方便研究,研究者将人的DNA和病毒的DNA均表示成由一些小写字母组

    2024年02月08日
    浏览(45)
  • 勒索病毒最新变种.faust勒索病毒来袭,如何恢复受感染的数据?

    引言: 随着我们进入数字化时代,数据的重要性变得愈发显著,而网络安全威胁也日益增加。.faust勒索病毒是其中一种备受恶意分子钟爱的危险工具,它通过加密用户文件并勒索高额赎金来对个人和组织发起攻击。本文将深入探讨.faust勒索病毒的威胁,包括其工作原理、如何

    2024年02月21日
    浏览(44)
  • 勒索病毒最新变种.halo勒索病毒来袭,如何恢复受感染的数据?

    摘要: .halo勒索病毒已成为数字世界中的威胁,通过高级加密技术将文件锁定,并要求支付赎金。本文91数据恢复将深入介绍.halo勒索病毒的工作原理,提供解锁被感染文件的方法,以及探讨如何有效预防这一威胁。如果您正在经历勒索病毒数据恢复的困境,我们愿意与您分享

    2024年02月09日
    浏览(39)
  • PE文件感染程序设计(PE病毒)

    本文主要是记录一次PE病毒设计入门实验,查看了很多帖子,总也找不到系统的指导。也是出于记录一次具体的实验流程,给后来摸索的但是没有思路的朋友们一点点思路。 遍历当前目录,将所有的可执行文件列出来 对这些可执行文件逐个判断是否被感染过,如果感染过,则

    2024年02月07日
    浏览(35)
  • 细菌,真菌,病毒——感染,免疫反应以及治疗用药差异

    谷禾健康 与人类密切相关的微生物 我们的世界大到浩瀚宇宙,小到微观下的生物分子。我们总说漫天繁星,其实身边微生物数量可能更多。动物、植物、 真菌 、 细菌 、 病毒 等,共同构成了丰富多彩的生命世界。 细菌、真菌、病毒是其中的三个大类,虽然它们都 体型微小

    2024年02月11日
    浏览(32)
  • Mallox勒索病毒最新变种.malox勒索病毒来袭,如何恢复受感染的数据?

    Mallox勒索病毒是一种针对计算机系统的恶意软件,能够加密受感染计算机上的文件。最近,新的Mallox病毒变种.malox勒索病毒被发现并引起了关注,.malox勒索病毒这个后缀已经是Mallox勒索病毒家族的第十几个升级变种了,这个后缀的加密占比更高,导致数据的修复难度再次升级

    2024年02月06日
    浏览(41)
  • 服务器感染了.360勒索病毒,如何确保数据文件完整恢复?

    引言: 随着科技的不断进步,互联网的普及以及数字化生活的发展,网络安全问题也逐渐成为一个全球性的难题。其中,勒索病毒作为一种危害性极高的恶意软件,在近年来频频袭扰用户。本文91数据恢复将重点介绍 360 勒索病毒,包括如何解密被其加密的数据文件,以及如

    2024年02月12日
    浏览(46)
  • 服务器感染了.halo勒索病毒,如何确保数据文件完整恢复?

    尊敬的读者: 在数字时代,勒索病毒成为网络安全威胁中的一个严重问题,其中.halo勒索病毒作为新兴威胁,对用户和组织的数据安全构成了巨大的威胁。本文将深入介绍.halo勒索病毒的特征、工作原理,并提供有效的方法来应对和恢复被其加密的数据文件。同时,我们将探

    2024年01月24日
    浏览(42)
  • 服务器感染了.locked勒索病毒,如何确保数据文件完整恢复?

    引言: 网络安全威胁的不断演变使得恶意软件如.locked勒索病毒成为当今数字时代的一大挑战。.locked勒索病毒能够加密您的文件,然后要求支付赎金以解锁它们。本文将深入探讨.locked勒索病毒的特点,以及如何应对感染,以及预防这种类型的威胁的方法。数据的重要性不容小

    2024年02月06日
    浏览(50)
  • 服务器感染了.mallox勒索病毒,如何确保数据文件完整恢复?

    尊敬的读者: 随着科技的进步,网络犯罪也在不断演进,.mallox勒索病毒作为其中的一种威胁已经引起了广泛关注。本文将深入介绍.mallox勒索病毒的特征、传播途径,详细解释如何有效恢复被加密的数据文件,并提供一系列预防措施,以保护系统免受.mallox及类似威胁的侵害。

    2024年02月20日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包