題目描述
給出乙個01字串(長度不超過100),求其每乙個子串出現的次數。
輸入描述:
輸入包含多行,每行乙個字串。
輸出描述:
對每個字串,輸出它所有出現次數在1次以上的子串和這個子串出現的次數,輸出按字典序排序。
示例1
輸入確實是需要一小段一小段來查10101
輸出 0 2
01 2
1 3
10 2
101 2
考慮兩個問題:如何查詢子串;如何保證不遺漏子串;要最後保證字典序排序
map可以用string做鍵;用find查詢有無string;用值表示次數;本身是字典序
不遺漏子串,就從第乙個字母開始遍歷,每次從當前位置依次往後加乙個,就是正常的計數所有可能子串的思路
#include
#include
#include
#include
#include
#include
using
namespace
std;
mapcom;
map::iterator it;
int main()}}
for (it = com.begin(); it != com.end(); it++)
}}
插入:
mapstudent.insert(pair< int, string>(1, 「student_one」)); 或者直接
mapstudent[1] = 「student_one」;
第一種插入在有key值時不會插入,第二種會覆蓋原來的值
map.size()返回當前插入了多少資料
1149 子串計算(map的應用)
題目描述 給出乙個01字串 長度不超過100 求其每乙個子串出現的次數。輸入 輸入包含多行,每行乙個字串。輸出 對每個字串,輸出它所有出現次數在1次以上的子串和這個子串出現的次數,輸出按字典序排序。樣例輸入 10101 樣例輸出 0 2 01 2 1 310 2 101 2 2010年北京大學計算機...
1149 子串計算
1149 子串計算.cpp 定義控制台應用程式的入口點。題目1149 子串計算 時間限制 1 秒記憶體限制 32 兆特殊判題 否提交 1121解決 644 題目描述 給出乙個01字串 長度不超過100 求其每乙個子串出現的次數。輸入 輸入包含多行,每行乙個字串。輸出 對每個字串,輸出它所有出現次數在...
10A 子串計算
總時間限制 1000ms 記憶體限制 65536kb 描述給出乙個只包含0和1的字串 長度在1到100之間 求其每乙個子串出現的次數。輸入一行,乙個01字串。輸出對所有出現次數在1次以上的子串,輸出該子串及出現次數,中間用單個空格隔開。按子串的字典序從小到大依次輸出,每行乙個。樣例輸入 10101樣...