HDU-1711-Number Sequence(kmp模板)

這是一道kmp模板題商佑。

#pragma warning(disable:4996)
#include <stdio.h>

int main(void)
{
    // freopen("q.txt", "r", stdin);

    int T, t, s, f;
    int strLen, featureLen;
    unsigned int *stri, *feature, *next;
    stri = new unsigned int[1000000];
    feature = new unsigned int[10000];
    next = new unsigned int[10000];

    scanf("%d", &T);

    next[0] = 0;
    next[1] = 0;

    for (t = 0; t < T; t++) {
        // input

        scanf("%d %d", &strLen, &featureLen);

        for (s = 0; s < strLen; s++)
            scanf("%d", &stri[s]);

        for (f = 0; f < featureLen; f++)
            scanf("%d", &feature[f]);

        // kmp

        // get next
        for (s = 1, f = 0; s < featureLen - 1;) {
            if (feature[s] == feature[f]) {
                next[s + 1] = f + 1;
                s++;
                f++;
            }
            else {
                if (f == 0) {
                    next[s + 1] = 0;
                    s++;
                }
                else {
                    f = next[f];
                }
            }
        }

        // search
        for (s = 0, f = 0; s < strLen;) {
            if (stri[s] == feature[f]) {
                s++;
                f++;
                if (f == featureLen)
                    break;
            }
            else {
                if (f == 0) {
                    s++;
                }
                else {
                    f = next[f];
                }
            }
        }

        if (f == featureLen)
            printf("%d\n", s - featureLen + 1);
        else
            printf("-1\n");
    }

    return 0;
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末锯茄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子莉御,更是在濱河造成了極大的恐慌撇吞,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件礁叔,死亡現(xiàn)場離奇詭異牍颈,居然都是意外死亡,警方通過查閱死者的電腦和手機琅关,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門煮岁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涣易,你說我怎么就攤上這事画机。” “怎么了新症?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵步氏,是天一觀的道長隐岛。 經常有香客問我萍摊,道長垦梆,這世上最難降的妖魔是什么承粤? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮功舀,結果婚禮上令漂,老公的妹妹穿的比我還像新娘挂据。我一直安慰自己胖喳,他們只是感情好泡躯,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丽焊,像睡著了一般较剃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粹懒,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天重付,我揣著相機與錄音,去河邊找鬼凫乖。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的帽芽。 我是一名探鬼主播删掀,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼导街!你這毒婦竟也來了披泪?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤搬瑰,失蹤者是張志新(化名)和其女友劉穎款票,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泽论,經...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡艾少,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了翼悴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缚够。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鹦赎,靈堂內的尸體忽然破棺而出谍椅,到底是詐尸還是另有隱情,我是刑警寧澤古话,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布雏吭,位于F島的核電站,受9級特大地震影響陪踩,放射性物質發(fā)生泄漏杖们。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一膊毁、第九天 我趴在偏房一處隱蔽的房頂上張望胀莹。 院中可真熱鬧,春花似錦婚温、人聲如沸描焰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荆秦。三九已至,卻和暖如春力图,著一層夾襖步出監(jiān)牢的瞬間步绸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工吃媒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓤介,地道東北人吕喘。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像刑桑,于是被迫代替她去往敵國和親氯质。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345