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

1103 缘分数 更多...

函数

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

详细描述

1103 缘分数

函数说明

◆ main()

int pat::b::b1103::main ( istream &  cin,
ostream &  cout 
)

在文件 pat.cpp3647 行定义.

3647 {
3648 unsigned m;
3649 unsigned n;
3650 cin >> m >> n;
3651 unordered_map<unsigned, unsigned> c2a;
3652 unsigned max_c2 = 0;
3653 for(unsigned a = m; a <= n; a++) {
3654 unsigned c2 = 3 * a * (a - 1) + 1;
3655 max_c2 = c2;
3656 c2a[c2] = a;
3657 }
3658 bool ok = false;
3659 unsigned c2 = 0;
3660 for(unsigned b = 1; c2 <= max_c2; b++) {
3661 c2 = (b * b + (b - 1) * (b - 1)) * (b * b + (b - 1) * (b - 1));
3662 if(c2a.contains(c2)) {
3663 ok = true;
3664 cout << c2a[c2] << ' ' << b << endl;
3665 }
3666 }
3667 if(!ok) {
3668 cout << "No Solution";
3669 }
3670 return 0;
3671 }

被这些函数引用 TEST().

◆ TEST() [1/2]

pat::b::b1103::TEST ( b1103  ,
case1   
)

在文件 pat_test.cpp1812 行定义.

1812 {
1813 istringstream in("8 200");
1814 auto out = ostringstream();
1815 main(in, out);
1816 const auto ans = out.str();
1817 ASSERT_EQ("8 3\n"
1818 "105 10\n",
1819 out.str());
1820 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

pat::b::b1103::TEST ( b1103  ,
case2   
)

在文件 pat_test.cpp1822 行定义.

1822 {
1823 istringstream in("9 100");
1824 auto out = ostringstream();
1825 main(in, out);
1826 const auto ans = out.str();
1827 ASSERT_EQ("No Solution", out.str());
1828 }

引用了 main().