Brute-Force算法

using System;
namespace ConsoleApplication10
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(index("cbbcbcbb","acbc"));

            Console.WriteLine(index("cbbcbcbb","bcb"));

            Console.ReadLine();
        }

        static int index(string s ,string t)
        {
            int i = 0, j = 0, k;

            while (i<s.Length&&j<t.Length)
            {
                if (s[i]==t[j])
                {//如果相等继续匹配
                    i++;
                    j++;
                }
                else
                {//不相等时回溯
                    i = i - j + 1;
                    j = 0;
                }
            }
            if (j>=t.Length)
            {//匹配成功
                k = i - t.Length;
            }
            else
            {
                k=-1;
            }
            return k;
        }
    }
}

Brute-Force算法,布布扣,bubuko.com

时间: 2025-01-03 17:36:18

Brute-Force算法的相关文章

字符串处理------Brute Force与KMP

一,字符串的简单介绍 例:POJ1488  http://poj.org/problem?id=1488 题意:替换文本中的双引号: #include <iostream> #include <cstring> #include <cstdio> using namespace std; int main() { char c,flag=1; //freopen("Atext.in","r",stdin); while((c=ge

hdoj 4971 A simple brute force problem. 【最大闭合权 --&gt; 最小割】

题目:hdoj 4971 A simple brute force problem. 题意:给出 n 个任务和 m 项技术,完成某个任务需要其中几项技术,完成某个任务有奖金,学习某个技术需要钱,技术之间有父子关系,某项技术可能需要先学习其他技术,然后问你选择做那些任务获得收益最大? 分析:看题意的黑体字部分,就是一个标准的闭合权问题,这个题目的关键忽悠点在于技术之间的关系,导致很多人想到了dp以及树形dp. 其实就是一个闭合权问题模板,官方题解说如果技术之间存在相互的关系需要缩点,其实不用缩点也

HDU 4971 A simple brute force problem.(dp)

HDU 4971 A simple brute force problem. 题目链接 官方题解写的正解是最大闭合权,但是比赛的时候用状态压缩的dp也过掉了- -,还跑得挺快 思路:先利用dfs预处理出每个项目要完成的技术集合,那么dp[i][j]表示第i个项目,已经完成了j集合的技术,由于j这维很大,所以利用map去开数组 代码: #include <cstdio> #include <cstring> #include <algorithm> #include &l

【最小割】HDU 4971 A simple brute force problem.

说是最大权闭合图.... 比赛时没敢写.... 题意 一共有n个任务,m个技术 完成一个任务可盈利一些钱,学习一个技术要花费钱 完成某个任务前需要先学习某几个技术 但是可能在学习一个任务前需要学习另几个任务 求最多能赚多少钱咯 先将缩点将需要一起学掉的技术缩成一个点 建s--任务 权值为该任务盈利多少钱 建技术(缩点后)-t 权值为学习这技术的花费(总) 任务-技术 (完成该任务所需的每个技术都需要建边)权值为INF #include<stdio.h> #include<stdlib.h

小白日记46:kali渗透测试之Web渗透-SqlMap自动注入(四)-sqlmap参数详解- Enumeration,Brute force,UDF injection,File system,OS,Windows Registry,General,Miscellaneous

sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [指定数据库,表,列] --exclude-sysdbs [排除系统层的库] ******************************************************************************* #查具体数据 [前提:当前数据库用户有权读取informatio

HDU 4971 A simple brute force problem.(最小割,最大权闭合图)

http://acm.hdu.edu.cn/showproblem.php?pid=4971 A simple brute force problem. Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 182    Accepted Submission(s): 115 Problem Description There's a com

初二DVWA之Brute Force (密码爆破)

初学安全,我也不知道从哪里开始,网上找了点教程,接触了DVWA,我用自己的服务器搭建了一个平台,从头开始看.第一个模块就是Brute Force,说白了就是暴力破解.然后我发现,我操,这玩意儿跟我写的爬虫贼像???? 原理应该就是先抓包,然后伪造一个header,不停的改变密码,然后post上去,找到一个可能的密码...教程上介绍了这么一个工具,burpsuite,原理就应该是上面说的,不过里面功能很多,我只看了最简单了,就是爆破. 首先浏览器界面接换到你要登录的界面,然后在浏览器里面设置代理,

HDU - 4971 A simple brute force problem. (DP)

Problem Description There's a company with several projects to be done. Finish a project will get you profits. However, there are some technical problems for some specific projects. To solve the problem, the manager will train his employee which may

DVWA系列之13 Brute Force代码分析与防御

之前已经分析过了low级别的Brute Force代码,下面再分别分析一下medium和high级别的代码. medium级别代码: 很明显就可以看到medium和low级别的区别,在这里对负责接收用户参数的变量$user和$pass进行了过滤,过滤的方法仍然是使用mysql_real_escape_string()函数.这样密码绕过就行不通了,但对于暴力破解却是没有丝毫影响,利用Burpsuite仍然可以很快破解出密码. 下面再看下high级别的代码: high级别首先仍是对$user和$pa

HDU 4971 A simple brute force problem.

A simple brute force problem. Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ID: 497164-bit integer IO format: %I64d      Java class name: Main There's a company with several projects to be done. Finish a projec