博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[SOJ] 1282. Computer games (KMP)
阅读量:7124 次
发布时间:2019-06-28

本文共 2077 字,大约阅读时间需要 6 分钟。

坑爹题

1282. Computer Game

Constraints

Time Limit: 1 secs, Memory Limit: 32 MB

Description

 

Brian is an enthusiast of computer games, especially those that simulate virtual reality. Now he is in front of the Star Gate. In order to open the gate he must break the protection as quickly as he can. Breaking the protection means to match a given code (a sequence of numbers) against the gate protection (a very long sequence of numbers). The starting position of the first occurrence of the code within the sequence opens the gate. Can you help him?

The code is a sequence of at most 60000 integer numbers between 0 and 255. The gate protection contains integer numbers between 0 and 255. Your program must find the first match if there is one, or report the absence of a match.

 

Input

 

The text input file contains several data sets. Each data set has the following format:

l     the length of the code

l     the sequence of numbers representing the code

l     the number of integers in the gate protection

l     the sequence of numbers representing the gate protection 

 code_dimension

integerinteger2 … integercode_dimension 
protection_dimension
integerinteger2 … integerprotection_dimension

White spaces may occur freely in the input.

 

Output

 

The results must be printed on the standard output. For each given data set, print the result on a separate line. The result is a number that represents the position (starting from zero) of the first occurrence of the code in the gate protection, or the message no solution if there is no match.

 

Sample Input

30 1 272 3 4 0 1 2 521 464 1 4 1 4 431 2 373 2 1 3 2 255 7

Sample Output

31no solution
#include
#include
using namespace std;int pat[1000000], text[1000000];int next0[1000000];void get_Next(int len2){ int k = -1; int i = 0; next0[0] = -1; while (i
> pat[i]; cin >> len1; for (int i = 0; i < len1; i++) cin >> text[i]; int q = KMP(len1, len2); if (q >= 0) cout << q << endl; else cout << "no solution" << endl; } return 0;}

  

转载于:https://www.cnblogs.com/KennyRom/p/5983032.html

你可能感兴趣的文章
《Microduino实战》——3.5 I/O操作——现学现用
查看>>
《思科数据中心I/O整合》一2.2 无损耗以太网(Lossless Ethernet)
查看>>
《触摸屏游戏设计》——4.1节 起名字
查看>>
《树莓派渗透测试实战》——1.2 组装树莓派
查看>>
《网页设计与前端开发 Dreamweaver+Flash+Photoshop+HTML+CSS+JavaScript 从入门到精通》—— 1.2 网页的基本构成元素...
查看>>
《21天学通Java(第6版)》—— 1.1 Java语言
查看>>
《图数据库》——第 2 章 关联数据的存储选择
查看>>
《SQL学习指南(第2版)(修订版)》———1.4 内容前瞻
查看>>
使用Redis作为一个LRU缓存
查看>>
《易学C++(第2版)》——1.7 C++学习的常见问题
查看>>
《Google软件测试之道》—第1章1.3节组织结构
查看>>
jvm系列(七):jvm调优-工具篇
查看>>
Processing编程学习指南3.1 程序的运行流程
查看>>
ROS机器人程序设计(原书第2版)2.2 理解ROS计算图级
查看>>
《破茧成蝶——用户体验设计师的成长之路》一1.3 用户体验设计的特征
查看>>
R语言数据挖掘2.2.4.3 R语言实现
查看>>
Predicate和Consumer接口– Java 8中java.util.function包下的接口
查看>>
《Dreamweaver CS6完美网页制作——基础、实例与技巧从入门到精通》——2.3 网页色彩搭配知识...
查看>>
企业上云实战分享
查看>>
SSM框架Web程序的流程(Spring SpringMVC Mybatis)
查看>>