尽量用C++写, 不要太复杂,能够让我这个xin shou理解,如果能够bang mang, fei chang gan xie!
C++计蒜客求充气求帮个忙
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Pink_Piggy 2021-08-06 16:17关注
#include<iostream> using namespace::std; int main() { int n, m, r; cout << "请分别输入气球数n,魔法剂数m以及气球最多承受气体质量r:" << endl; scanf_s("%d %d %d", &n, &m, &r, 4, 4, 4); int* marry = new int[m]; int* narry = new int[n]; bool* mbool = new bool[m]; for (int i = 0; i < m; ++i) mbool[i] = true; cout << "请分别输入每个魔法剂生成的气体质量:" << endl; for (int i = 0; i < m; ++i) { scanf_s("%d", &marry[i], 4); } cout << "请分别输入每个气球的初始气体含量:" << endl; for (int i = 0; i < n; ++i) { scanf_s("%d", &narry[i], 4); } int result = -1; int k = -1;//记录最后一个j值 for (int i = 0; i < n; ++i) { int need = r - narry[i]; result = -1; k = -1; for (int j = 0; j < m; ++j) { if (marry[j] == need) { result = marry[j]; k = j; break; } if (marry[j] < need && marry[j] > result && mbool[j]) { result = marry[j]; k = j; } } if (k != -1) mbool[k] = false; cout << result << endl; } return 0; }
用的是暴力的方法,一个一个匹配,如果将m,n两个数组排序的话,应该会更方便些!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
- ¥15 (标签-MATLAB|关键词-多址)
- ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
- ¥500 52810做蓝牙接受端
- ¥15 基于PLC的三轴机械手程序
- ¥15 多址通信方式的抗噪声性能和系统容量对比
- ¥15 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 Centos / PETSc / PETGEM