problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
acwing::acwing4213类 参考

AcWing 4213. 最小结果 更多...

#include <acwing.h>

静态 Public 成员函数

static unsigned long long get_min (vector< char > ops, vector< unsigned long long > vec)
 
static int main (istream &cin, ostream &cout)
 

详细描述

AcWing 4213. 最小结果

在文件 acwing.h720 行定义.

成员函数说明

◆ get_min()

unsigned long long acwing::acwing4213::get_min ( vector< char >  ops,
vector< unsigned long long >  vec 
)
static

在文件 acwing.cpp2054 行定义.

2054 {
2055 const char op = ops[0];
2056 if(vec.size() == 2) {
2057 if(op == '+') {
2058 return vec[0] + vec[1];
2059 }
2060 return vec[0] * vec[1];
2061 }
2062 const auto next_ops = vector(ops.begin() + 1, ops.end());
2063 unsigned long long minimum = 1000000000000;
2064 for(int i = 0; i < vec.size() - 1; i++) {
2065 for(int j = i + 1; j < vec.size(); j++) {
2066 unsigned long long new_num;
2067 if(op == '+') {
2068 new_num = vec[i] + vec[j];
2069 } else {
2070 new_num = vec[i] * vec[j];
2071 }
2072 auto new_vec = vector<unsigned long long>();
2073 new_vec.push_back(new_num);
2074 for(int k = 0; k < vec.size(); k++) {
2075 if(k != i && k != j) {
2076 new_vec.push_back(vec[k]);
2077 }
2078 }
2079 const auto ret = get_min(next_ops, new_vec);
2080 if(minimum > ret) {
2081 minimum = ret;
2082 }
2083 }
2084 }
2085 return minimum;
2086 }
int vec[100010]
Definition: pat.cpp:5095
static unsigned long long get_min(vector< char > ops, vector< unsigned long long > vec)
Definition: acwing.cpp:2054

引用了 get_min() , 以及 pat::a::a7_2::vec.

被这些函数引用 get_min().

◆ main()

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

在文件 acwing.cpp2041 行定义.

2041 {
2042 unsigned int num[4];
2043 cin >> num[0] >> num[1] >> num[2] >> num[3];
2044 vector<char> ops;
2045 char op;
2046 for(int i = 0; i < 3; i++) {
2047 cin >> op;
2048 ops.push_back(op);
2049 }
2050 cout << get_min(ops, vector<unsigned long long>(begin(num), end(num)));
2051 return 0;
2052 }

被这些函数引用 acwing::TEST().


该类的文档由以下文件生成: