雖然題目停水的,但是好像字元處理運用的還比較合適
problem description
當今世界,網路已經無處不在了,小度熊由於犯了錯誤,當上了度度公司的網路管理員,他手上有大量的 ip列表,小度熊想知道在某個固定的子網掩碼下,有多少個網路位址。網路位址等於子網掩碼與 ip 位址按位進行與運算後的結果,例如:
子網掩碼:a.b.c.d
input
第一行包含乙個整數
t ,(1
≤t≤50
) 代表測試資料的組數,
接下來t
組測試資料。每組測試資料報含若干行,
第一行兩個正整數n(
1≤n≤
1000,1
≤m≤50
),m 。接下來
n 行,每行乙個字串,代表乙個 ip 位址,
再接下來
m 行,每行乙個字串代表子網掩碼。ip 位址和子網掩碼均採用 a.
b.c.
d 的形式,其中a、
b、c、
d 均為非負整數,且小於等於255。
output
對於每組測試資料,輸出兩行:
第一行輸出: "case #i:" 。
i 代表第
i 組測試資料。
第二行輸出測試資料的結果,對於每組資料中的每乙個子網掩碼,輸出在此子網掩碼下的網路位址的數量。
sample input
25 2192.168.1.0
192.168.1.101
192.168.2.5
192.168.2.7
202.14.27.235
255.255.255.0
255.255.0.0
4 2127.127.0.1
10.134.52.0
127.0.10.1
10.134.0.2
235.235.0.0
1.57.16.0
sample output
case #1:32case #2:
34
#include #include #include #include using namespace std;
string getstr(string str)
temp = str.substr(itl,str.length()-itl);
temp.insert(0,3-temp.length(),'0');
getstr+=temp;
return getstr;
}int main ()
printf("case #%d:\n",++xx);
for(int i=0; i>str;
string temp = getstr(str);
mapm;
for(int j=0; j
百度之星 1003 IP聚合
當今世界,網路已經無處不在了,小度熊由於犯了錯誤,當上了度度公司的網路管理員,他手上有大量的 ip列表,小度熊想知道在某個固定的子網掩碼下,有多少個網路位址。網路位址等於子網掩碼與 ip 位址按位進行與運算後的結果,例如 第一行包含乙個整數t,1 t 50 代表測試資料的組數,接下來t組測試資料。每...
IP聚合 百度之星(與運算)
problem description 當今世界,網路已經無處不在了,小度熊由於犯了錯誤,當上了度度公司的網路管理員,他手上有大量的 ip列表,小度熊想知道在某個固定的子網掩碼下,有多少個網路位址。網路位址等於子網掩碼與 ip 位址按位進行與運算後的結果,例如 子網掩碼 a.b.c.d input ...
百度之星 資格賽 IP聚合
保持著也不知道什麼情懷,覺得到現在才能發出來。這道題做完之後看了其他人的 然後再看我的,不得不說,真是幼稚的很,尤其是輸入這一塊,都什麼跟什麼啊。但相較於之前來說,不像以前慌張了,學會先思考再去寫 明白了函式的一些用處與含義。我知道乙個大四的老狗說這種話倒還真是夠沒面子的,但希望自己每天都在成長。你...