ホームページ > バックエンド開発 > PHPチュートリアル > hdu 1251 (辞書ツリー) 統計の部分的な質問 http://acm.hdu.edu.cn/showproblem.php?pid=1251

hdu 1251 (辞書ツリー) 統計の部分的な質問 http://acm.hdu.edu.cn/showproblem.php?pid=1251

WBOY
リリース: 2016-06-13 13:25:52
オリジナル
915 人が閲覧しました

hdu 1251 (辞書ツリー) 統計問題 http://acm.hdu.edu.cn/showproblem.php?pid=1251


問題解決のアイデア: 辞書ツリーのテンプレートを直接適用します。空白行で終わる判定は であることに注意してください。 strcmp(str,"")==0

コード:

#include
#include
#include
名前空間 std を使用します;
//辞書ツリー構造を作成します
構造体ノード{
int num;
構造体ノード *br[26];
};
ノード *ルート;
//文字を挿入してツリーを作成します
void Tree_Insert(char str[]){
ノード *t 、 *s = ルート;
int i , j;
int len = strlen(str) - 1;
for(i = 0;i int id = str[i] - 'a';
If(s -> br[id] == NULL){
t = 新しいノード;
for(j = 0; j t -> br[j] = NULL;
}
t -> = 0;
s -> br[id] = t;
}
s = s -> br[id];
s ->num++;
}
}
//検索
int Tree_search(char str[]){
ノード *s = ルート;
int カウント;
int len = strlen(str) - 1;
for(int i = 0; i int id = str[i] - 'a';
If(s -> br[id] == NULL){
カウント = 0;
戻り数;
}
else{
s = s -> br[id];
カウント = s -> num;
}
}
戻り値;
}
int main(){
int i , j;
ルート = 新しいノード;
for(i = 0; i ルート -> br[i] = NULL;
ルート -> 数値 = 0;
}
char str[15];
while(gets(str),strcmp(str,"")){ //ここでの判定条件に注意、カンマ式
Tree_Insert(str);
}
While(gets(str)){
cout< }
0 を返します
}




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート