ACM程式設計書中題目 X 電話號碼序列

2021-07-29 05:15:13 字數 783 閱讀 6914

題意簡述:給定幾行**號碼,短號作為字首,然後判斷是否每個號碼都能打出去。即911是911234的字首,所以911234打不出去。

解題思路:

1、可以將每一行號碼存到乙個結構體中,然後對所有的號碼按照長短進行排序。

2、排序結束後首先以第一行號碼為標準,判斷是否是之後號碼的字首。即在該號碼的長度範圍內,用strncmp函式進行判斷,若一樣,直接輸出no,進行下一組測試樣例的檢測。

3、若迴圈結束,每乙個**號碼都能打出去,則輸出yes,進行下一組測試樣例的檢測。

解題感想:這道題是最後a的一道題,起初一段時間看這道題沒有思路,就把這道題放到了一邊。在結束的前兩個小時再看到這個題,瞬間有了乙個比較合適的思路。於是敲了**,並且成功a題。思路有時候就是瞬間出現,抓住就是成功。這一道題也作為該專題的結尾,是我比較滿意的一道**。更加熟練地運用了結構體,動態陣列,以及sort函式的比較。感覺超級開心。

源**:

#include

using

namespace std;

struct

number

b[10000

];bool

compare

(number

e,number

f)int

main

()else

continue;}

} cout<<

"yes"

continue;}

return0;

}

test題目 電話號碼分身

題目描述 繼miui8推出手機分身功能之後,miui9計畫推出乙個 號碼分身的功能 首先將 號碼中的每個數字加上8取個位,然後使用對應的大寫字母代替 zero one two three four five six seven eight nine 然後隨機打亂這些字母,所生成的字串即為 號碼對應的...

《ACM程式設計》書中題目 J

題目簡要 輸入從乙個整數n 這是要跟隨的字串數。以下n行每個包含乙個最多50個大寫字母的字串。對於輸入中的每個字串,首先輸出字串的編號,列印字串start是從輸入字串匯出的,每次都替換為字母表中的以下字母,並用 a 替換 z 在每個測試用例後列印空白行。例如 sample input 2hal sw...

acm程式設計書中題目l

輸入乙個字串,將這個字串倒序輸出。運用string中的getline cin,字串名 進行輸入然後通過獲取字串長度,倒序輸出。include include include using namespace std intmain d 100 int a,i,j while cin a 輸入字串 fo...