time limit: 1000ms memory limit: 65536k 有疑問?點這裡^_^
每 個人都有名字,名字都是唯一的不存在重複現象。現在假設名字都是由小寫字母組成並且長度不超過10,我們賦予每個名字乙個初始價值。價值是正整數並且不超 過100,如果第j個人的名字是第i個人的字首並且字首長度最大,我們就說j是i的父節點,比如:名字a為:a;名字b為ab;名字c為abc; a是c 的字首,b也是c的字首,但是b的長度為2比a的長度大,那麼b就是c的父節點. 由此規則建樹,從葉子節點到根,父節點的價值=父節點本身的價值+孩子 節點的價值。 求最後各個名字的價值
乙個整數t,代表資料組數
對於每一組資料輸入第一行為乙個整數n(0輸出n個對應的名字的價值,按照輸入的順序輸出(操作完成後最終價值)
13a ab abc
10 20 30
60 50 30
大資料輸入,建議用scanf
題解:就是水水的字典樹,沒什麼好講的。
#include #include#include
#include
using
namespace
std;
int w[100001
];char a[100001][11
];typedef
struct
node
node,*tree;
void creat(tree &t)
void inseart(tree &t,char *s,int
key)
}int search(tree t,char *s)
return p->flag;
}void
d(tree p)
free(p);
}int
main()
for(int i=0; i)
for(int i=0; i)
for(int i=0; i)
printf("\n
");d(t);
}return0;
}
SDUT2826 名字的價值
time limit 1000ms memory limit 65536k 有疑問?點這裡 每 個人都有名字,名字都是唯一的不存在重複現象。現在假設名字都是由小寫字母組成並且長度不超過10,我們賦予每個名字乙個初始價值。價值是正整數並且不超 過100,如果第j個人的名字是第i個人的字首並且字首長度最...
45 名字的漂亮度
題目描述 給出乙個名字,該名字有26個字串組成,定義這個字串的 漂亮度 是其所有字母 漂亮度 的總和。每個字母都有乙個 漂亮度 範圍在1到26之間。沒有任何兩個字母擁有相同的 漂亮度 字母忽略大小寫。給出多個名字,計算每個名字最大可能的 漂亮度 輸入描述 整數n,後續n個名字 輸出描述 每個名稱可能...
華為機試45 名字的漂亮度
題目描述 給出乙個名字,該名字有26個字串組成,定義這個字串的 漂亮度 是其所有字母 漂亮度 的總和。每個字母都有乙個 漂亮度 範圍在1到26之間。沒有任何兩個字母擁有相同的 漂亮度 字母忽略大小寫。給出多個名字,計算每個名字最大可能的 漂亮度 輸入描述 整數n,後續n個名字 輸出描述 每個名稱可能...