日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hdoj 1004 学习思路

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdoj 1004 学习思路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hdoj 1004題目大概講的是,將輸入的字符串根據輸入次數多少,輸出出現次數最多的字符串。

題目邏輯很簡單,就是需要選擇相應的數據結構,看了別人提交的discuss,明顯發現可以使用多種數據結構解這道題。

其實我本是打算用結構體來解的,但是結構體還是不太熟,并又看了別人的代碼就不在自行考慮了。

關鍵是用兩個數組,一個是 char boloon[1000][16] ,另一個是 int num[1000] ,?

取1000是因為輸入要求N(0<N ≤ 1000), 16 是因為輸入字符串大小在0~15,再加上\0,總共16.

?

在運行程序時,將寫入的字符串存入 boloon[i], 相應的s[i] 加一,然后將此次輸入的字符串與之前已經存入所有字符穿相比,出現過相同的一次就將num[i]加一,

?

最后求出最大的num[i]的最大的i, 出現次數最多的就是 boloon[i]

參考代碼

http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=25780&messageid=1&deep=0

我的代碼

#include <stdlib.h> #include <stdio.h> #include <string.h>int main(void) {int i, n, j, max, num[1000];char boloon[1000][16];while (scanf("%d", &n) != EOF){if (n) {for (i = 0; i < n; i++) {num[i] = 0;scanf("%s", boloon[i]);num[i] += 1;for (j = 0; j < i; j++) {if (strcmp(boloon[i], boloon[j]) == 0) {num[i] += 1;}}}max = 0;for (i = 0; i < n; i++) {if (max < num[i]) {max = num[i];j = i;}}printf("%s\n", boloon[j]);}} }

?

轉載于:https://www.cnblogs.com/young-ma/p/5728025.html

總結

以上是生活随笔為你收集整理的hdoj 1004 学习思路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。