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

Tsinghua OJ 工作分配(Workload)C++ 数组指针实现

本地测试都AC,三个测试,最后回车,和别人的AC100/100一样

除非要求:必须递归,或者要求不能在代码里delete删除数组行。

我认为没有问题。如果用vector更简单。


#include <iostream>
using namespace std;namespace my_find_min2{int getMin(int **mat1, const int col,int &n,int m){int min = 0,v1=0;int row = 0;min = mat1[0][col];row = 0;for (int j = 0; j < n; j++){v1 = mat1[j][col];if (v1>0){if (min > mat1[j][col]){min = mat1[j][col];row = j;}}}delete[] mat1[row];n--;	for (int i = row; i < n; ++i) {mat1[i] = mat1[i + 1];}mat1[n] = nullptr;//show/*for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){cout << mat1[i][j] << " ";}cout << endl;}*/return min;}int get_col_min(int **mat1,int n){int min = 0, v1 = 0, col = 0;int sum = 0;int total = n;int len = n;while (total > 0){min = getMin(mat1, col, len,n);sum += min;total--;col++;			}return sum;}
}
using namespace my_find_min2;int main()
{int v1 = 0;int n = 0;cin >> n;int total = 10000;if (n > 15 || n<1){return 0;}int all_values = 0;int **mat1;mat1 = new int*[n];for (int i = 0; i < n; i++){mat1[i] = new int[n];for (int j = 0; j < n; j++){cin >> v1;all_values += v1;mat1[i][j] = v1;}}if (all_values > total){return 0;}int sum = 0;sum = get_col_min(mat1,n);cout<<sum<<endl;	return 0;
}/*题意:查找每列的最小值,然后求和,但是不能重复去同一行取最小值。(需要将已经得到最小值的行移除,再继续)
简言之,就是每个人的工作,已经分配了,就不能再让此人再去干其他任务。例如:
10 2 3
2 3 4
3 4 5
每一行表示一个人,后面是他干每个任务的时间,每一列相当一个任务。2+2+5(1行和2行已经分配)程序思路:
循环每一列,查找最小值,找到,立刻把此员工的所在移除(二维数组需要将后面移动到当前1位),
因为其已经分配好工作任务了。测试案例在本文结尾出。
2025-09-28 耗费几个小时完成。测试案例
Sample input:
3
4 2 5
2 3 6
3 4 5
output:
95
9 2 9 1 9
1 9 8 9 6
9 9 9 9 1
8 8 1 8 4
9 1 7 8 9
output:
56
10 11 12 11 9 11
11 9 10 13 11 12
12 10 11 10 13 9
9 14 9 10 10 11
10 10 9 11 12 11
10 7 10 10 10 8
output:
56*/

用简单的方法解决,不用递归!!!实际上工作,也很少用递归!

http://www.dtcms.com/a/419893.html

相关文章:

  • 免费网站知乎网页打不开但是qq能上是怎么回事
  • 宁波网站设计制作公司wordpress免费简约模板
  • 乐山 做网站WordPress工作发布
  • 3.6 局域网 (答案见原书 P110)
  • C++基础:(五)类和对象(下)—— static、友元和内部类
  • 【二至九位数个位起符合递减限制求和】2022-11-19
  • eclipse jsp 网站开发登录中国沈阳网站
  • 【连载1】《假装自己是个小白 —— 重新认识 MySQL》实践指南
  • 智能客服机器人推动客服岗位角色转型
  • 商丘建设网站网站图片怎么做白色背景
  • 网站优化如何提高排名根据百度地图做网站
  • VC++ 使用OpenSSL创建RSA密钥PEM文件
  • 测试覆盖率:从度量到优化的完整工程实践指南
  • 贵阳网站设计哪家好无锡手机网站开发
  • SpringBoot中StringUtils工具类的使用
  • 阿里云网站方案建设书模板wordpress评论编辑器
  • SpringBoot核心注解、自动配置原理和配置文件
  • 46.NAT、代理服务、内网穿透
  • 网站平台建设规划西安最好的设计院排名
  • 基于Spring Boot与SSM的中药实验管理系统架构设计
  • 【Spring】Spring Boot 自动配置原理分析
  • git 的常用命令
  • 现在ui做的比较好的网站免费云手机无限时间版
  • 整体设计 逻辑系统程序 之2 Target 之1 靶点根治的逻辑体系深化与落地设计:从规则双轨到语言 - 知识桥梁
  • 网站php源码长沙设计公司都有哪些
  • 第一版代码
  • 2025年AI费控系统避坑指南:智能风控+预算管控能力对比
  • Windows的多路复用IOCP
  • 做网站的规范暴雪公司现状
  • 前端提效工具清单,常用前端效率工具推荐与开发提效实战经验