UPC 6359 售票 字典樹

2022-09-17 13:57:25 字數 1143 閱讀 6760

題目描述

c 市火車站最近出現了一種新式自動售票機。買票時,乘客要先在售票機上 輸入終點名稱。一共有 n 處目的地,隨著乘客按順序輸入終點名稱的每個字母, 候選終點站數目會逐漸減少。

在自動售票機螢幕上,有乙個 4 行 8 列的鍵盤,如下圖所示。

在乘客每輸入乙個字母後,鍵盤上只有有效字元是可選的(取決於還有哪些 候選終點站),其餘的字母會被字元 』*』 取代。

告訴你 n 處目的地的名稱,以及乘客已經輸入的若干字元,請你輸出鍵盤目 前的狀態。

輸入 第一行為乙個整數 n(1 ≤ n ≤ 50)。接下來 n 行,每行乙個由大寫英文本母 組成的長度不超過 100 的字串,表示一處目的地。最後一行,乙個長度不超過

100 的字串,表示按順序輸入的若干字元。

輸出 輸出4行,每行乙個長度為8的字串,表示鍵盤狀態。

樣例輸入

4 zagreb

sisak

zadar

zabok

za樣例輸出

.* * * * b * d *

.* g * * * * * *

.* * * * * * * *

.* * * * * * * *

提示 輸入 za 以後,下乙個字元可能是 g(終點站有可能是 zagreb),或 d(終點 站有可能是 zadar),或 b(終點站有可能是 zabok)。

明顯就是輸入索引,那麼建乙個字典樹,按照輸入的字母走一遍字典樹,在那裡停止就查詢該節點存在多少個孩子。輸出即可

#include

using

namespace

std;

const

int maxn=5e5+10;

int n,tot;

int tre[maxn][26];

int insert(char *str,int rt)

}int finds(char str,int rt)

return rt;

}int main()

if(i%8==0)printf("\n");}}

}

UPC 方格取數

題目描述 在 n 行 m 列的方格矩陣中,每個方格都包含乙個數字。小明可以從任意方格出發開始移動。每次移動可以移到與當前方格有一條邊相鄰的方格 即向上 下 左或右方向移動 1 格,且不能移出邊界 除此之外,你移動到的方格中的數字必須比當前方格中的數字更大。請你幫助小明程式設計規劃移動路徑,使路徑上經...

UPC 購買巧克力(貪心)

時間限制 1 sec 記憶體限制 128 mb 提交 狀態 題目描述 shoi這次科技競賽取得了好成績,想慶祝一番,他手頭總共有m元,購買巧克力來讓同學分享快樂。他在sh商店逸擇購買,在巧克力商品櫃中共有n塊巧克力,每塊巧克力的 是a i 元 商家為了 提供給他k張優惠券,使用方法是 對於每塊巧克力...

upc 潔淨無瑕(思維)

時間限制 1 sec 記憶體限制 128 mb 題目描述 小x是一位富豪,酷愛收藏寶石。在他的收藏櫃中,從左到右依次擺放著各種形態不一的鑽石。為了評價一顆鑽石的美觀程度,小x為每顆鑽石賦予了乙個潔淨度ai。小x認為,鑽石之間不能太衝突。他會從左到右依次看過去,若兩顆相鄰的鑽石,其中一顆的潔淨度為奇數...