時間限制:
3000 ms | 記憶體限制:
150000 kb
難度:4 描述
在美麗大興安嶺原始森林中存在數量繁多的物種,在勘察員帶來的各種動物資料中有未統計數量的原始動物的名單。科學家想判斷這片森林中哪種動物的數量最多,但是由於資料太過龐大,科學家終於忍受不了,想請聰明如你的acmer來幫忙。
輸入第一行輸入動物名字的數量n(1<= n <= 4000000),接下來的n行輸入n個字串表示動物的名字(字串的長度不超過10,字串全為小寫字母,並且只有一組測試資料)。
輸出輸出這些動物中最多的動物的名字與數量,並用空格隔開(資料保證最多的動物不會出現兩種以上)。
樣例輸入
10boar
pigsheep
gazelle
sheep
sheep
alpaca
alpaca
marmot
mole
樣例輸出
sheep 3
**[陳玉 張云聰]原創
上傳者
陳玉經典的字典樹的問題,**幾乎可以來當模版來用了,就留下來了~~~,不過貌似用運算子過載排序(不知道是不是)也能過。。。。。。。。需要注意的是開闢乙個新的記憶體時下乙個指標一定要指向null;
字典樹**:
#include#include#includeint max;
char ans[101];
struct node
;struct node *root;/*建立頭節點*/
struct node *newset()/*建立新節點*/
p->count=0;/*計數器初始化為0*/
return p;/*新建完成*/
}void insert(char *s)/*建立字典樹*/
p=p->next[s[i]-'a'];
}p->count++;
if(p->count>max)
}int main()
root->count=0;/*計數器初始化為0*/
scanf("%d",&ncases);
while(ncases--)
printf("%s %d\n",ans,max);
return 0;
}
運算子過載**:(這個要比sort跟qsort排序要快。。。。。)
#include#include#includeusing namespace std;
struct tj
w[4000001];
bool operator<(tj const&x,tj const&y)
int main()
} printf("%s %d\n",w[p].str,max);
return 0;
}
(過載運算子提交超時!) nyoj290 動物統計加強版
時間限制 3000 ms 記憶體限制 150000 kb 難度 4 描述 在美麗大興安嶺原始森林中存在數量繁多的物種,在勘察員帶來的各種動物資料中有未統計數量的原始動物的名單。科學家想判斷這片森林中哪種動物的數量最多,但是由於資料太過龐大,科學家終於忍受不了,想請聰明如你的acmer來幫忙。輸入第一...
NYOJ 290 動物統計加強版 字典樹
經典的字典樹的問題,幾乎可以來當模版來用了,就留下來了 不過貌似用運算子過載排序 不知道是不是 也能過。需要注意的是開闢乙個新的記憶體時下乙個指標一定要指向null 字典樹 include include includeint max char ans 101 struct node struct ...
nyoj 290 動物統計加強版(RS雜湊)
時間限制 3000 ms 記憶體限制 150000 kb 難度 4 描述 在美麗大興安嶺原始森林中存在數量繁多的物種,在勘察員帶來的各種動物資料中有未統計數量的原始動物的名單。科學家想判斷這片森林中哪種動物的數量最多,但是由於資料太過龐大,科學家終於忍受不了,想請聰明如你的acmer來幫忙。輸入第一...