problemscpp
A collection of my answers to algorithm problems in c++.
函数
acwing::acwing3447 命名空间参考

  1. 子串计算
更多...

函数

int main (istream &cin, ostream &cout)
 
 TEST (acwing3447, case1)
 

详细描述

  1. 子串计算

函数说明

◆ main()

int acwing::acwing3447::main ( istream &  cin,
ostream &  cout 
)

在文件 acwing408.cpp1213 行定义.

1213 {
1214 string s;
1215 map<string, int> m;
1216 while(cin >> s) {
1217 m.clear();
1218 for(int i = 0; i < s.length(); i++) {
1219 for(int j = 1; j <= s.length() - i; j++) {
1220 string sub = s.substr(i, j);
1221 if(m.find(sub) == m.end()) {
1222 m[sub] = 1;
1223 } else {
1224 m[sub]++;
1225 }
1226 }
1227 }
1228 for(const auto &p: m) {
1229 if(p.second > 1)
1230 cout << p.first << ' ' << p.second << endl;
1231 }
1232 }
1233 return 0;
1234 }

被这些函数引用 TEST().

◆ TEST()

acwing::acwing3447::TEST ( acwing3447  ,
case1   
)

在文件 acwing408_test.cpp1501 行定义.

1501 {
1502 istringstream in("10101");
1503 auto out = ostringstream();
1504 main(in, out);
1505 const auto ans = out.str();
1506 ASSERT_EQ("0 2\n"
1507 "01 2\n"
1508 "1 3\n"
1509 "10 2\n"
1510 "101 2\n",
1511 ans);
1512 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().