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

  1. 单词识别
更多...

函数

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

详细描述

  1. 单词识别

函数说明

◆ main()

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

在文件 acwing408.cpp1307 行定义.

1307 {
1308 map<string, int> dict = map<string, int>();
1309 ostringstream oss;
1310 while(!cin.eof() && !cin.fail() && cin.peek() != EOF) {
1311 char c = cin.get();
1312 if(isalpha(c)) {
1313 oss << char(tolower(c));
1314 } else {
1315 if(oss.str().empty())
1316 continue;
1317 dict[oss.str()]++;
1318 oss = ostringstream();
1319 }
1320 }
1321 if(!oss.str().empty()) {
1322 dict[oss.str()]++;
1323 }
1324 for(const auto &[word, cnt]: dict) {
1325 cout << word << ':' << cnt << endl;
1326 }
1327 return 0;
1328 }

被这些函数引用 TEST().

◆ TEST() [1/2]

acwing::acwing3581::TEST ( acwing3542  ,
case1   
)

在文件 acwing408_test.cpp1575 行定义.

1575 {
1576 istringstream in("A blockhouse is a small castle that has four openings through which to shoot.");
1577 auto out = ostringstream();
1578 main(in, out);
1579 const auto ans = out.str();
1580 ASSERT_EQ("a:2\n"
1581 "blockhouse:1\n"
1582 "castle:1\n"
1583 "four:1\n"
1584 "has:1\n"
1585 "is:1\n"
1586 "openings:1\n"
1587 "shoot:1\n"
1588 "small:1\n"
1589 "that:1\n"
1590 "through:1\n"
1591 "to:1\n"
1592 "which:1\n",
1593 ans);
1594 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

acwing::acwing3581::TEST ( acwing3542  ,
case2   
)

在文件 acwing408_test.cpp1596 行定义.

1596 {
1597 istringstream in("ZhnqZlbTCiol .,YHsWlKfYf.,.Ug, .LPkReTwCoTUVAY.,Pv .BZRkvRZ,..uoeeEtwPLn.oLjdlYaolkctEM EUbsyHRPfHgtKXw s .a.HVZk. .JV ..TP,msuKHuIHETiPdNe, A,,.L,,.mbppWtkj.. KoURloeEO. URJNwpFSj,FCfPqxH .Hvzk KzoZGPIRh .cluMByzNQCnrds. lPKrEtWCOTUvAY...a,,UQq,.TP.IDNmLWyuBA ,ukTFWJtGaYpv,.kOurLOeEO,,.pwBwtcIPBNjQaX, Gzc .FY.ug,,sZzrQnZnoKAyvOT,.ynHN, .iht,hVZK. SzzrqNznoKAYvoT.. a. GzC. ,uoEEETWpLn,,jmozwuAaMnTCBx . URjNwPfsJ,BDQxCSWMkebF,, lPkretWcotUVaY . UOeeetWpln pWBwtcIpBnjqAx CluMbYZNqcnrDS,,,MBPPwTkj pujlNV,..BzrkvrZ,.NJ,,,OTjJ zbWP..FaIPSfd ,VbAXOCeUuc ..PAoOyvSlYxjcwA uQQ cmmhLELseIBMmj ZBWP,.ZPVxAgLRHmPmn lPKrETwCOtuvAY jV rrfG,URJNWpfSJ. xDKcrUHgv EhKqG .MsUKhuIHeTipdnE ,,kZOzgPIRH vgWC.,EhKqg zhNqzLbTCioL.,uktfWJTGaYPV. ,fcfPQXh..Q.BDQXcSWMkeBF..fY,nJ,,PBODNCHgtV,, TOrAepgX koURlOeEo.,.PwBWTcIPbnJQax,,OSfU Jv,,ENTiYAJD.zPvXagLrHmpmN.oTJJ.,.EbnaotBLnRhwdX. ,UkTfWjtgaypv ..EbNAOtBLNRhwdx pAOOYVsLYXjCWA SZZRQnZNOkayVot.,.EbnaOtblNrHwdx ,KzoZgpirH, LPkretwcotuvAY..cRyi,.Rrfg.cmM");
1598 auto out = ostringstream();
1599 main(in, out);
1600 const auto ans = out.str();
1601 ASSERT_EQ("a:4\n"
1602 "bdqxcswmkebf:2\n"
1603 "bzrkvrz:2\n"
1604 "clumbyznqcnrds:2\n"
1605 "cmm:1\n"
1606 "cmmhlelseibmmj:1\n"
1607 "cryi:1\n"
1608 "ebnaotblnrhwdx:3\n"
1609 "ehkqg:2\n"
1610 "entiyajd:1\n"
1611 "eubsyhrpfhgtkxw:1\n"
1612 "faipsfd:1\n"
1613 "fcfpqxh:2\n"
1614 "fy:2\n"
1615 "gzc:2\n"
1616 "hvzk:3\n"
1617 "idnmlwyuba:1\n"
1618 "iht:1\n"
1619 "jmozwuaamntcbx:1\n"
1620 "jv:3\n"
1621 "kourloeeo:3\n"
1622 "kzozgpirh:3\n"
1623 "l:1\n"
1624 "lpkretwcotuvay:5\n"
1625 "mbppwtkj:2\n"
1626 "msukhuihetipdne:2\n"
1627 "nj:2\n"
1628 "oljdlyaolkctem:1\n"
1629 "osfu:1\n"
1630 "otjj:2\n"
1631 "paooyvslyxjcwa:2\n"
1632 "pbodnchgtv:1\n"
1633 "pujlnv:1\n"
1634 "pv:1\n"
1635 "pwbwtcipbnjqax:3\n"
1636 "q:1\n"
1637 "rrfg:2\n"
1638 "s:1\n"
1639 "szzrqnznokayvot:3\n"
1640 "toraepgx:1\n"
1641 "tp:2\n"
1642 "ug:2\n"
1643 "uktfwjtgaypv:3\n"
1644 "uoeeetwpln:3\n"
1645 "uqq:2\n"
1646 "urjnwpfsj:3\n"
1647 "vbaxoceuuc:1\n"
1648 "vgwc:1\n"
1649 "xdkcruhgv:1\n"
1650 "yhswlkfyf:1\n"
1651 "ynhn:1\n"
1652 "zbwp:2\n"
1653 "zhnqzlbtciol:2\n"
1654 "zpvxaglrhmpmn:2\n",
1655 ans);
1656 }

引用了 main().