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

1023 Have Fun with Numbers 更多...

函数

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

详细描述

1023 Have Fun with Numbers

函数说明

◆ main()

int pat::a::a1023::main ( istream &  cin,
ostream &  cout 
)

在文件 pat.cpp4893 行定义.

4893 {
4894 string n;
4895 cin >> n;
4896 unordered_map<unsigned short, unsigned short> us1;
4897 unordered_map<unsigned short, unsigned short> us2;
4898 vector<unsigned short> vec;
4899 unsigned short c = 0;
4900 for(int i = n.length() - 1; i >= 0; i--) {
4901 unsigned short ch = static_cast<unsigned short>(n[i]) - '0';
4902 us1[ch]++;
4903 ch *= 2;
4904 ch += c;
4905 c = ch / 10;
4906 ch %= 10;
4907 vec.emplace_back(ch);
4908 }
4909 if(c > 0) {
4910 vec.emplace_back(c);
4911 }
4912 ostringstream oss;
4913 for(auto it = vec.rbegin(); it != vec.rend(); ++it) {
4914 unsigned num = *it;
4915 oss << num;
4916 us2[num]++;
4917 }
4918
4919 cout << (us1 == us2 ? "Yes" : "No") << endl
4920 << oss.str();
4921 return 0;
4922 }
int vec[100010]
Definition: pat.cpp:5095

引用了 pat::a::a7_2::vec.

被这些函数引用 TEST().

◆ TEST()

pat::a::a1023::TEST ( a1023  ,
case1   
)

在文件 pat_test.cpp2210 行定义.

2210 {
2211 istringstream in("1234567899");
2212 auto out = ostringstream();
2213 main(in, out);
2214 ASSERT_EQ("Yes\n"
2215 "2469135798",
2216 out.str());
2217 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().