字串暴力

2021-07-10 12:23:15 字數 2185 閱讀 4327

學姐思路非常清下,膜拜orz…orz

poj 1035

大致題意:

輸入一部字典,輸入若干單詞

1、 若某個單詞能在字典中找到,則輸出corret

2、 若某個單詞能通過 變換 或 刪除 或 新增乙個字元後,在字典中找得到,則輸出這些單詞,輸出順序根據 輸入的那部字典的字典序

3、 若某個單詞無論操作與否都無法在字典中找得到,則輸出空

暴力吧!模擬吧!

基本思路就是逐個比較 待查單詞 與 字典單詞 的長度,當且僅當兩者長度之差的絕對值<=1時才進行檢查操作。

//memory time   

//456k 157ms

#include

#include

using

namespace

std;

char dict[10001][16];

char word[51][16];

int dictnum=0; //字典計數器

int wordnum=0; //單詞計數器

void input(void);

bool change(char* word,char* dict); //檢查字串word能否通過變換得到dict

bool del(char* word,char* dict); //檢查字串word能否通過刪除得到dict

bool add(char* word,char* dict); //檢查字串word能否通過新增得到dict

int main(void)

else

if(change(word[i],dict[k]))

address[pa++]=k;

} else

if(len-dictlen[k]==1) //delete

else

if(dictlen[k]-len==1) //add

} /*output*/

if(flag)

cout

<" is correct"

return

0;

} void input(void)

bool change(char* word,char* dict) //wordlen==dictlen

} return

true;

} bool del(char* word,char* dict) //wordlen==dictlen+1

else

} return

true;

} bool add(char* word,char* dict) //wordlen==dictlen-1

else

} return

true;

} 2014.9

.27自己又打了一遍**,有一處需要注意,即輸入處理

#include

#include

#define n 10000+10

#include

using

namespace

std;

int dictlen[n];

char dict[n][17],word[51][17];

bool change(char *word,char *dict)

}return

true;

}bool del(char *word,char *dict)

else

}return

true;

}bool add(char *word,char *dict)

else

}return

true;

}int main()

else

if(change(word[i],dict[j]))

address[pa++]=j;

}if(len-dictlen[j]==1)

if(dictlen[j]-len==1)

}if(flag)

printf("%s is correct\n",word[i]);

else

puts("");

}delete address;

}}

字串暴力匹配演算法

暴力匹配演算法 如果用暴力匹配的思路,並假設現在 str1 匹配到 i位置,子串 str2 匹配到 j 位置,則有 1 如果當前字元匹配成功 即 str1 i str2 j 則i j 繼續匹配下乙個字元 2 如果失配 即 str1 i str2 j 令i i j 1 j 0 相當於每次匹配失敗時,i...

字串匹配暴力演算法

include define maxsize 100 typedef struct sqstring void strassign sqstring s,char cstr 初始化串 s.length i void destroystr sqstring s 釋放串 void strcopy sqs...

字串查詢 1 暴力字串查詢演算法

virtual int findstr const string haystack,const string needle override if j patsize return i return 1 最差情況下,haystack可能是 aaa.aaa needle是 a.ab 在這種情況下,需要...