当前位置: 首页 > news >正文

GESP2024年3月认证C++六级( 第三部分编程题(2)好斗的牛)

参考程序(暴力枚举)

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int N;
vector<int> a, b;
int ans = 1e9;
int main() 
{cin >> N;a.resize(N);b.resize(N);for (int i = 0; i < N; ++i) {cin >> a[i];}for (int i = 0; i < N; ++i) {cin >> b[i];}vector<int> permutation;permutation.resize(N);for (int i = 0; i < N; i ++)permutation[i] = i;do {int curr_len = N;for (int i = 1; i < N; ++i) {curr_len += max(b[permutation[i - 1]], a[permutation[i]]);}ans = min(ans, curr_len);} while(next_permutation(permutation.begin(), permutation.end()));cout << ans << endl;return 0;
}

参考程序(贪心算法)

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main() {int N;cin >> N;vector<int> a(N), b(N);for (int i = 0; i < N; ++i) {cin >> a[i];  // 左侧攻击范围}for (int i = 0; i < N; ++i) {cin >> b[i];  // 右侧攻击范围}// 牛的放置策略:// 将每头牛的攻击范围 [a[i], b[i]] 转化为一个区间vector<pair<int, int>> cows(N);for (int i = 0; i < N; ++i) {cows[i] = {a[i], b[i]};}// 排序:根据每头牛的攻击范围进行排序sort(cows.begin(), cows.end());// 计算最少需要的牛棚数量int left = 0, right = 0;for (int i = 0; i < N; ++i) {// 当前牛的位置必须满足其攻击范围left = max(left, cows[i].first);              // 最小位置right = left + cows[i].second;                // 最大位置(放置当前牛之后的最远位置)left = right;                                 // 更新最左边界,准备放置下一个牛}cout << right << endl;  // 最终右边界即为所需的牛棚数量return 0;
}

http://www.lryc.cn/news/527382.html

相关文章:

  • 记一次STM32编译生成BIN文件过大的问题(基于STM32CubeIDE)
  • 【暴力洗盘】的实战技术解读-北玻股份和三变科技
  • Day42:列表的组合
  • mantisbt添加修改用户密码
  • DroneXtract:一款针对无人机的网络安全数字取证工具
  • 简单树形菜单
  • Windows 靶机常见服务、端口及枚举工具与方法全解析:SMB、LDAP、NFS、RDP、WinRM、DNS
  • RNN实现阿尔茨海默症的诊断识别
  • 14-6-1C++STL的list
  • Redis事务机制详解与Springboot项目中的使用
  • DeepSeek-R1,用Ollama跑起来
  • Leecode刷题C语言之组合总和②
  • YOLOv8改进,YOLOv8检测头融合DynamicHead,并添加小目标检测层(四头检测),适合目标检测、分割等,全网独发
  • 【PyQt】QThread快速创建多线程任务
  • 智能码二维码的成本效益分析
  • 企业财务管理系统的需求设计和实现
  • Springboot集成Swagger和Springdoc详解
  • 类和对象(4)——多态:方法重写与动态绑定、向上转型和向下转型、多态的实现条件
  • ui-automator定位官网文档下载及使用
  • 董事会办公管理系统的需求设计和实现
  • ESP32和STM32在处理中断方面的区别
  • 零售业革命:改变行业的顶级物联网用例
  • 字符串算法笔记
  • 在Ubuntu上用Llama Factory命令行微调Qwen2.5的简单过程
  • ThinkPhp伪静态设置后,访问静态资源也提示找不到Controller
  • JavaScript赋能智能网页设计
  • 基于STM32的阿里云智能农业大棚
  • 80,【4】BUUCTF WEB [SUCTF 2018]MultiSQL
  • 深入探索imi框架:PHP Swoole的高性能协程应用实践
  • 【算法篇·更新中】C++秒入门(附练习用题目)