第十三次CCF CSP認證(2018年3月)真題URL對映
問題描述
URL 對映是諸如 Django、Ruby on Rails 等網頁框架 (web frameworks) 的一個重要元件。對於從瀏覽器發來的 HTTP 請求,URL 對映模組會解析請求中的 URL 地址,並將其分派給相應的處理程式碼。現在,請你來實現一個簡單的 URL 對映功能。
本題中 URL 對映功能的配置由若干條 URL 對映規則組成。當一個請求到達時,URL 對映功能會將請求中的 URL 地址按照配置的先後順序逐一與這些規則進行匹配。當遇到第一條完全匹配的規則時,匹配成功,得到匹配的規則以及匹配的引數。若不能匹配任何一條規則,則匹配失敗。
本題輸入的 URL 地址是以斜槓 / 作為分隔符的路徑,保證以斜槓開頭。其他合法字元還包括大小寫英文字母、阿拉伯數字、減號 -、下劃線 _ 和小數點 .。例如,/person/123/ 是一個合法的 URL 地址,而 /person/123? 則不合法(存在不合法的字元問號 ?)。另外,英文字母區分大小寫,因此 /case/ 和 /CAse/ 是不同的 URL 地址。
對於 URL 對映規則,同樣是以斜槓開始。除了可以是正常的 URL 地址外,還可以包含引數,有以下 3 種:
字串 :用於匹配一段字串,注意字串裡不能包含斜槓。例如,abcde0123。
整數 :用於匹配一個不帶符號的整數,全部由阿拉伯數字組成。例如,01234。
路徑 :用於匹配一段字串,字串可以包含斜槓。例如,abcd/0123/。
以上 3 種引數都必須匹配非空的字串。簡便起見,題目規定規則中 和 前面一定是斜槓,後面要麼是斜槓,要麼是規則的結束(也就是該引數是規則的最後一部分)。而 的前面一定是斜槓,後面一定是規則的結束。無論是 URL 地址還是規則,都不會出現連續的斜槓。
輸入格式
輸入第一行是兩個正整數 n 和 m,分別表示 URL 對映的規則條數和待處理的 URL 地址個數,中間用一個空格字元分隔。
第 2 行至第 n+1 行按匹配的先後順序描述 URL 對映規則的配置資訊。第 i+1 行包含兩個字串 pi 和 ri,其中 pi 表示 URL 匹配的規則,ri 表示這條 URL 匹配的名字。兩個字串都非空,且不包含空格字元,兩者中間用一個空格字元分隔。
第 n+2 行至第 n+m+1 行描述待處理的 URL 地址。第 n+1+i 行包含一個字串 qi,表示待處理的 URL 地址,字串中不包含空格字元。
輸出格式
輸入共 m 行,第 i 行表示 qi 的匹配結果。如果匹配成功,設匹配了規則 pj ,則輸出對應的 rj。同時,如果規則中有引數,則在同一行內依次輸出匹配後的引數。注意整數引數輸出時要把前導零去掉。相鄰兩項之間用一個空格字元分隔。如果匹配失敗,則輸出 404。
樣例輸入
5 4
/articles/2003/ special_case_2003
/articles// year_archive
/articles/// month_archive
/articles//// article_detail
/static/ static_serve
/articles/2004/
/articles/1985/09/aloha/
/articles/hello/
/static/js/jquery.js
樣例輸出
year_archive 2004
article_detail 1985 9 aloha
404
static_serve js/jquery.js
樣例說明
對於第 1 個地址 /articles/2004/,無法匹配第 1 條規則,可以匹配第 2 條規則,引數為 2004。
對於第 2 個地址 /articles/1985/09/aloha/,只能匹配第 4 條規則,引數依次為 1985、9(已經去掉前導零)和 aloha。
對於第 3 個地址 /articles/hello/,無法匹配任何一條規則。
對於第 4 個地址 /static/js/jquery.js,可以匹配最後一條規則,引數為 js/jquery.js。
資料規模和約定
1 ≤ n ≤ 100,1 ≤ m ≤ 100。
所有輸入行的長度不超過 100 個字元(不包含換行符)。
保證輸入的規則都是合法的。
相關推薦
第十三次CCF CSP認證(2018年3月)真題URL對映
問題描述 URL 對映是諸如 Django、Ruby on Rails 等網頁框架 (web frameworks) 的一個重要元件。對於從瀏覽器發來的 HTTP 請求,URL 對映模組會解析請求中的 URL 地址,並將其分派給相應的處理程式碼。現在,請你
第十三次CCF CSP認證(2018年3月)真題棋局評估
問題描述 Alice和Bob正在玩井字棋遊戲。 井字棋遊戲的規則很簡單:兩人輪流往3*3的棋盤中放棋子,Alice放的是“X”,Bob放的是“O”,Alice執先。當同一種棋子佔據一行、一列
第十三次CCF CSP認證(2018年3月)真題棋局評估 題解
問題描述 Alice和Bob正在玩井字棋遊戲。 井字棋遊戲的規則很簡單:兩人輪流往3*3的棋盤中放棋子,Alice放的是“X”,Bob放的是“O”,Alice執先。當同一種棋子佔據一行、一列或一條對角線的三個格子時,遊戲結束,該種棋子的持有者獲勝。當棋盤被填滿的時候,
第十三次CCF CSP認證(2018年3月)真題跳一跳
跳一跳 問題描述 近來,跳一跳這款小遊戲風靡全國,受到不少玩家的喜愛。 簡化後的跳一跳規則如下:玩家每次從當前方塊跳到下一個方塊,如果沒有跳到下一個方塊上則遊戲結束。 如果跳到了方塊
CCF CSP認證(2018年3月)碰撞的小球
問題描述 數軸上有一條長度為L(L為偶數)的線段,左端點在原點,右端點在座標L處。有n個不計體積的小球線上段上,開始時所有的小球都處在偶數座標上,速度方向向右,速度大小為1單位長度每秒。 當小球到達線段的端點(左端點或右端點)的時候,會立即向相反的方向移動,速度大小仍然為原來大小。 當兩個小球撞到一
CCF CSP認證(2018年3月)URL對映
URL對映 問題描述 URL 對映是諸如 Django、Ruby on Rails 等網頁框架 (web frameworks) 的一個重要元件。對於從瀏覽器發來的 HTTP 請求,URL 對映模組會解析請求中的 URL 地址,並將其分派給相應的處理程式碼。現在,請你
第十三次CCF CSP認證(2018-3-18)體驗
這是我第二次參加,上一次是第十一次認證。 第一題都是水題來的,不過出得比較有新意,是計算微信“跳一跳”的計分。 第二題也不是很難,是假設小球在直線上移動,到達邊界和碰到其他小球會彈開,這道題就是控制好方向就好了,然後注意邊界的問題,前兩道題,大概用了30分
第九次CCF CSP認證試題
試題編號: 4 試題名稱: 壓縮編碼 時間限制: 3.0s 記憶體限制: 256.0MB 問題描述: 問題描述 給定一段文字,已知單詞a1, a2, …, an出現的頻率分別t1, t2, …, tn。可以用01串給這些單詞編碼,即將每個單詞與一個01串對應,使得任
第16次CCF CSP認證-第5題-317 號子任務(subtask317)-圖論最短路徑
amp 查看 最短 ima efi class task 分享圖片 標準輸入 【題目背景】“你在平原上走著走著,突然迎面遇到一堵墻,這墻向上無限高,向下無限深,向左無限遠,向右無限遠,這墻是什麽?”——《流浪地球》原著我們帶著
OpenCV&C++ 零散-筆記(2018年11月)
size font nbsp art csdn pan open tor log 1、vector<> https://blog.csdn.net/ak201605050122/article/details/80225297 2、Open
ArcGIS API for JavaScript 4.10(2018年12月)的新增功能
原網址https://www.esri.com/arcgis-blog/products/js-api-arcgis/announcements/whats-new-in-arcgis-api-for-javascript-4-10-december-2018/ 4.10版引入了大量新功能和改進
ROS機器人作業系統資料與資訊(2018年12月)
要聞一覽: ROS 2新版 開源機器人論文集徵稿 機器人導航新功能 適用18.04+16.04的ROS QT 4.8 行為樹 釋出ROS版本號命名 Existing ROS 2 names and codenames: Ardent Apa
國家區域行政編碼(2018年12月)
行政區劃程式碼 單位名稱 110000 北京市 110101 東城區 110102 西城區 110105 朝陽區 110106 豐臺區 110107 石景山區 110108 海淀區
平安科技Java開發三面面經(2018年12月)
上週接到平安HR邀約面試的電話,約在上週6,過去面試。因為之前面過平安壽險,所以 應該是簡歷被撈了一下。說是現場直接走完 面試流程,於是就去了。現場共2輪技術面+1輪HR面,3輪面試過了的話,後面會做一份IQ和EQ測試題(這個測試掛了,就GG,而且3個月不 能再面平安任何崗位,要認真點
自考總結(2018年10月)
本次自考感受 學習是一個反覆的過程 在考前複習知識點階段,找到了自己的很多知識漏洞。比如,資料結構中的集合這種邏輯結構已經被我拋之腦後完全沒有印象;線性表的鏈式儲存中,才瞭解到單鏈表還有有無頭結點之分
如何關閉QQ電腦端的“騰訊網 今日最新資訊推薦”彈窗(2018年2月)
這個需求很讓人無語。因為辦公室的電腦有時候一直登入QQ(我這裡的版本是QQ 8.9.5),重新回到桌面的時候就會彈出“騰訊網 今日最新資訊推薦”的彈窗,讓人感覺智商又被騰訊侮辱了。關閉方法如下:主選單
CSP認證考試2017年3月第二題學生排隊問題C語言程式碼
問題描述 體育老師小明要將自己班上的學生按順序排隊。他首先讓學生按學號從小到大的順序排成一排,學號小的排在前面,然後進行多次調整。一次調整小明可能讓一位同學出隊,向前或者向後移動一段距離後再插入佇列。 例如,下面給出了一組移動的例子,例子中學生的人數
windows下caffe介面的匯入(2018年7月)
matlab中caffe的配置 第一步:將上一步生成的matcaffe加入matlab的路徑中,直接在setpath裡面設定 並將D:\caffe2\caffe-master\Build\x64\Release該路徑放到【系統變數】-【Path】中
美團秋招 Android三輪技術面+HR面(收到offer) 知識總結(2018年9月)
四大元件有哪幾個 Activity生命週期 Activity的onCreate方法能執行復雜耗時操作嗎 Activity的onCreate執行復雜耗時操作除了handler和asynctask還有其他方法嗎 Activity中啟動另一Activity生命週期是怎樣的,分別討論新Activity沒建立和建立過
我的閱讀清單(2018年3月開始)
主要是為了督促自己,記錄自己的閱讀記錄,更好的堅持。 1、《意志力是訓練出來的》 菲爾圖(2018年3月) 2、《Effective java》中文版 第2版 Joshua Bloch(2018年4月) 3、《深入分析Java Web技術內蒙》許令波著(2018.4.1