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

AcWing 1459. 奶牛体操 更多...

函数

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

详细描述

AcWing 1459. 奶牛体操

函数说明

◆ main()

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

在文件 acwing.cpp5536 行定义.

5536 {
5537 int k;
5538 int n;
5539 cin >> k >> n;
5540 auto hash = [](const pair<int, int> p) -> int { return p.first * 20 + p.second; };
5541 unordered_set<pair<int, int>, decltype(hash)> pairs;
5542 for(int i = 1; i <= n; i++) {
5543 for(int j = 1; j <= n; j++) {
5544 if(i != j) {
5545 pairs.insert(make_pair(i, j));
5546 }
5547 }
5548 }
5549 for(int i = 0; i < k; i++) {
5550 vector<int> vec(n);
5551 for(int j = 0; j < n; j++) {
5552 cin >> vec[j];
5553 }
5554 for(int j = 0; j + 1 < n; j++) {
5555 for(int l = j + 1; l < n; l++) {
5556 pairs.erase(make_pair(vec[j], vec[l]));
5557 }
5558 }
5559 }
5560 cout << pairs.size();
5561 return 0;
5562 }
int vec[100010]
Definition: pat.cpp:5095

被这些函数引用 TEST().

◆ TEST()

acwing::acwing1459::TEST ( acwing1459  ,
case1   
)

在文件 acwing_test.cpp2634 行定义.

2634 {
2635 istringstream in("3 4\n"
2636 "4 1 2 3\n"
2637 "4 1 3 2\n"
2638 "4 2 1 3");
2639 auto out = ostringstream();
2640 main(in, out);
2641 const auto ans = out.str();
2642 ASSERT_EQ("4", ans);
2643 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().