vector改数组,去掉注释:#include <iostream>#include <vector>using namespace std;int cnt = 0; // 计数器void dfs(vector<int>& nums, int cur, int sum) { if (cur == 4) { // 递归到最后一位 if (sum == 24) cnt++; // 满足条件,计数器加一 return; } dfs(nums, cur + 1, sum + nums[cur]); // 加号运算 dfs(nums, cur + 1, sum - nums[cur]); // 减号运算 dfs(nums, cur + 1, sum * nums[cur]); // 乘号运算}int main() { int n; cin >> n; while (n--) { vector<int> nums(4); for (int i = 0; i < 4; i++) { cin >> nums[i]; } cnt = 0; dfs(nums, 1, nums[0]); // 从第二个数开始递归,第一个数是初始值 if (cnt) cout << "Yes" << endl; else cout << "No" << endl; } return 0;}
时间: 2024-03-17 20:46:56 浏览: 58
#include <iostream> #include<iomanip> using namespace std;九九乘法表
以下是使用数组实现的去掉注释的代码:
```c++
#include <iostream>
using namespace std;
int cnt = 0; // 计数器
void dfs(int nums[], int cur, int sum) {
if (cur == 4) { // 递归到最后一位
if (sum == 24) cnt++; // 满足条件,计数器加一
return;
}
dfs(nums, cur + 1, sum + nums[cur]); // 加号运算
dfs(nums, cur + 1, sum - nums[cur]); // 减号运算
dfs(nums, cur + 1, sum * nums[cur]); // 乘号运算
}
int main() {
int n;
cin >> n;
while (n--) {
int nums[4];
for (int i = 0; i < 4; i++) {
cin >> nums[i];
}
cnt = 0;
dfs(nums, 1, nums[0]); // 从第二个数开始递归,第一个数是初始值
if (cnt) cout << "Yes" << endl;
else cout << "No" << endl;
}
return 0;
}
```
将 vector<int> nums 改为 int nums[] 即可将 vector 改为 数组。
阅读全文