题目描述

有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏....
Misaka和Kuroko在一个 n x m 的棋盘上玩游戏,每个格子上都放着一些呱太。游戏共进行 k 回合,每一回合 Kuroko会选**有呱太**的一行 i,在这之后Misaka会选择一列 j ,并拿走格子 (i, j) 上的所有呱太,Misaka希望自己拿走的呱太尽可能多,而Kuroko不想让Misaka拿走很多呱太,所以她希望拿走的呱太尽可能少。
在一旁围观的恒温死神希望预测结果,请你预测在双方都采取最优策略的情况下,Misaka最终能拿走呱太的数量。

输入描述:

第一行三个数 n, m, k。
接下来 n 行,每行 m 个数,第 i 行第 j 个数表示棋盘第 i 行第 j 列上的呱太数量 ai,j。

输出描述:

输出共一个数,表示在你的预测下,Misaka最终能拿走呱太的数量。

示例1

输入

复制

3 2 4
5 7
3 2
8 5

输出

复制

17

备注:

1≤ n, m ≤ 1000, 1 ≤ k ≤ n x m, 1 ≤ ai,j ≤ 109

Misaka每次拿的肯定是kuroko选的那一行的最大的数。

首先可以得出如果要拿就要把这一行拿完,然后会剩下k%m个,这k%m个也是要全拿同一行的最大的。

先对每一行排序从大到小,记下前k个的和,和这一行的总和。

会有k/m行被全部拿完,这k/m行一定是和最小的几行,但是拿k%m个数的那一行不确定,所以暴力选k%m个数的那一行,加上全拿完的k/m行,每次求出一个ans留下最小的。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e3+5;
struct node {ll data, datak;
}sum[maxn];
bool cmpp(ll a, ll b) {return a > b;
}
bool cmp(node a, node b) {return a.data < b.data;
}
ll a[maxn][maxn];
int main() {int n, m, k;scanf("%d%d%d", &n, &m, &k);int pk = k / m, qk = k % m;for (int i = 0; i < n; i++) {sum[i].data = 0;sum[i].datak = 0;for (int j = 0; j < m; j++)scanf("%lld", &a[i][j]);sort(a[i], a[i] + m, cmpp);for (int j = 0; j < m; j++) {sum[i].data += a[i][j];if (j == qk - 1)sum[i].datak = sum[i].data;} }ll minn = 1ll<<62;sort(sum, sum + n, cmp);for (int i = 0; i < n; i++) {ll ans = sum[i].datak;int c = 0;for (int j = 0; j < n && c < pk; j++) {if (j != i || !qk) {ans += sum[j].data;c++;}}minn = min(ans, minn);}printf("%lld\n", minn);return 0;
}

Wannafly挑战赛26:B冥土追魂(模拟?贪心?暴力?)相关推荐

  1. Wannafly挑战赛26: B. 冥土追魂(思维题)

    链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 题目描述 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏.... Misa ...

  2. Wannafly挑战赛26 B.冥土追魂 贪心

    链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 题目描述 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏.... Misa ...

  3. nowcoder (牛客)Wannafly挑战赛26 B: 冥土追魂 (思维)

    链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言104 ...

  4. Wannafly挑战赛26 B 冥土追魂(暴力)

    题意:链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏.... Misaka ...

  5. Wannafly挑战赛26 B冥土追魂

    链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言104 ...

  6. wannafly挑战赛26 B 冥土追魂 (思维+排序)

    大致题意 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏- Misaka和Kuroko在一个 n x m 的棋盘上玩游戏,每个格子上都放着一些呱太.游戏共进行 k 回合,每一回合 ...

  7. Wannafly挑战赛26 B 冥土追魂

    首先,证明结果一定是取某些整行,再加上一个多余的一行的前几个. 假如: x1<=x2<=x3<=x4<=x5 y1<=y2<=y3<=y4<=y5 取6 ...

  8. Wannafly挑战赛26-B 冥土追魂(贪心?思维?模拟?)

    转载出自 https://blog.csdn.net/c_13579/article/details/83039005 贪心不行,数学思维寻找它的选取规律 #include<iostream&g ...

  9. Wannafly挑战赛26-B 冥土追魂

    地址:https://www.nowcoder.com/acm/contest/212/B 思路:对于行列选取,是选择所有行中的最大值的最小值,当是并不能用贪心来做,例如 2 2 2 7 8 1 9 ...

最新文章

  1. Linux、Windows、Mac下Docker的安装与使用
  2. ARM编程模式和7钟工作模式
  3. 【前端周刊】20190606
  4. 如何在macOS Monterey 中开启对焦模式?
  5. 使用Movavi Photo Editor如何修复照片中的红眼
  6. SSM+Redis简介
  7. ASP.Net在web.config中设置上传文件的大小方法
  8. 为什么图灵奖获得者戴克斯特拉痛恨 BASIC 语言
  9. Vm虚拟化连不上存储服务器,VMware服务器虚拟化、虚拟桌面应该选择什么存储品牌最好--我们有软硬方案...
  10. 备份一下Linux笔记
  11. 3060Ti显卡,tensorflow2.4-GPU安装
  12. Kotlin高仿微信-第20篇-个人信息
  13. AT-SURF-F437 3D Test
  14. unraid虚拟linux系统,UNRAID教程:3分钟用unraid自带的虚拟机安装黑群晖NAS DSM系统很强大!...
  15. 注解—— java.lang.annotation.Annotation
  16. Ubuntu 环境变量设置
  17. 消息称勒索软件可逃避PC防御、Office漏洞补丁能被攻击者绕过|12月24日全球网络安全热点
  18. iOS逆向学习之 Mac 登录到 iPhone
  19. 微信小程序 - 云开发轮询实现定时推送订阅消息
  20. Basler相机安装教程

热门文章

  1. 「一文搞定」串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE
  2. 新浪微博布局学习——妙用TabHost
  3. 智能运维实践——魅族技术开放日第十三期现场纪实
  4. 快递提前签收件怎么快速归类
  5. 记录一次wagon报错Failed to execute goal org.codehaus.mojo:wagon-maven-plugin:1.0:upload-single
  6. Springboot毕设项目壁纸网站32zp4(java+VUE+Mybatis+Maven+Mysql)
  7. antdesign-vue表格table组件列字段筛选
  8. TypeScript中interface 与 type的区别,你真的懂吗?
  9. ChatGPT热中的冷思考
  10. vue+ueditor+kityformula数学公式插件