5700: 还钱问题

题目描述

STOI团队里的兄弟们脑子里装满算法,出门经常忘了带钱,于是经常有甲向乙借钱买大饼,乙向丙借钱买饮料这种事发生。
换成OI语言描述就是:这团队有N个人,每个人都跟别人借了一些钱,也借了一些钱给别人,同时满足他们借出去或者借来的钱都在这N个人当中,即总量不变。
现在定义一个还钱行为:A B C 表示A还钱给B,钱的数额为C。
问题:最少需要多少个还钱行为才能使得这N个人的债务结清(即每个人都不欠别人钱,也没有人欠他的钱)

输入

第一行是N,表示有N个人(1 <= N <= 14)
下面是一个N行N列的矩阵A, A[i, j] = k表示i借给j钱,数额为k。

输出

只有一行,即最少的还钱行为次数。

样例输入

30 1 00 0 11 0 0

样例输出

0

提示

第一个样例解释:1借给2 一块钱,2借给3一块钱,3借给1一块钱,这样实际上每个人就已经不欠其他人钱了,所以不用还钱

贪心,循环n次,每次先去掉正的和负的相等的值,再找最大值和最小值相加。

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
typedef long long ll;int sum[20];int main()
{int n,x;memset(sum,0,sizeof(sum));scanf("%d",&n);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){scanf("%d",&x);sum[i]-=x;sum[j]+=x;}}int ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)for(int k=j+1;k<=n;k++)if(sum[j]==(-sum[k])&&sum[j]!=0)sum[j]=sum[k]=0,ans++;int maxx=1,minn=1;for(int j=1;j<=n;j++){if(sum[j]>sum[maxx])maxx=j;if(sum[j]<sum[minn])minn=j;}if(maxx!=minn){sum[maxx]+=sum[minn];sum[minn]=0;ans++;}}printf("%d\n",ans);return 0;
}

5700: 还钱问题相关推荐

  1. 2018山东冬令营:还钱问题,UPC(5700) 还钱问题

    5700: 还钱问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 54  解决: 14 [ 提交][ 状态][ 讨论版] 题目描述 STOI团队里的兄弟们脑子里装满算法,出门经常忘了带 ...

  2. 5700:还钱问题(贪心+思维)

    5700: 还钱问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 74  解决: 22 [ 提交][ 状态][ 讨论版][命题人: admin] 题目描述 STOI团队里的兄弟们脑子里 ...

  3. 理解Java动态代理(1)—找我还钱?我出钱要你的命

    代理模式是最常用的一个设计模式之一,理解起来也是很简单,一张图足以说明了,LZ就不废话了. 至于代理模式能干嘛也不是LZ今天想说的,今天主要想简单介绍下JAVA里面的动态代理."动" ...

  4. 借钱,一定要有还钱的素质

    电视剧「雍正王朝」里有一段剧情,康熙命雍正负责追回国库欠款,雍正面对那群厚颜无耻的欠债人,说了一句很经典的话:「站着借钱,跪着要债」. 皇家要债尚且如此之难,何况是普通的人呢?对于欠债不还的情况,我想 ...

  5. 老赖整治升级,不还钱直接扣微信钱包!

    都说欠钱还钱天经地义,但是偏偏有人就是喜欢耍赖,欠钱不还跟债主躲猫猫. 但是大家都知道,如果欠钱不还,债主起诉到法院之后,老赖的银行账户是要被冻结的,如果账户有余额,会优先用于偿还债权人的钱. 当然有 ...

  6. 背账100万,不付利息不用还钱,银行套路好深

    年底了大家都缺钱,所以大家都在想方设法通过各种渠道去借钱,银行不行就转借呗.微粒贷,再不行就转小贷公司,小贷公司不行再转网贷... 为了钱大家都挺拼的,但是拼也不一定能借到钱,最后有些人甚至想到了一个 ...

  7. 信用卡多还钱了怎么办?

    我有一个朋友,前段时间还信用卡,他自己不记得消费了多少,也没有及时去查账单,然后就随便还款了5000元进去.可后来他查了自己的账单,发现当期的账单只有2000多元,多出的的2000多元他以为可以像储蓄 ...

  8. 用户无故被扣21000元话费,扣钱容易还钱难,运营商的回应看醉了

    记得4G刚开始推广普及时,资费之高有目共睹,还有段子为证"4G一晚上不关一套房子就没有了". 当然,这是夸张的说法,出现在新闻中的倒霉当事人们,4G流量超出套餐范围被扣费的,也是一 ...

  9. XElement.Load 需要释放吗_因为信用卡逾期还不上坐牢了,刑满释放后,还需要继续还钱吗?...

    原标题:因为信用卡逾期还不上坐牢了,刑满释放后,还需要继续还钱吗? 微信公众号(债小宝)专注信用卡逾期,二次协商停息分期,个性化分期还款,债务重组. 近年来由于银行发行大量信用卡,导致出现了逾期率暴涨 ...

最新文章

  1. Python做web开发,推荐几个能立马上手的小项目
  2. SpringSecurity简单应用(二)
  3. 事物与数据库底层数据
  4. 前端全栈大佬是如何使用javaScript实现一个无缝轮播
  5. js foreach 跳出循环_VUE.js
  6. Linux环境Elasticsearch6.xxx 之kibana可视化工具操作索引
  7. 如何在Go中使用切片容量和长度
  8. 重构职场竞争力之测试跨界思维
  9. 特斯拉股价周五收盘下跌7.38% 此前公布第三季度交付量创新高
  10. 处理机和处理器的区别
  11. sql server 存储过程_pgRouting教程七:使用SQL存储过程
  12. OpenCasCade将鼠标点映射到OCC三维视图中的三维点(鼠标点转换为OCC三维坐标)
  13. python贴吧评论没有权限怎么回事_女朋友总是问我谁好看,只好用python整个评分来回答灵魂拷问!出事就让百度背锅吧!...
  14. 如何利用Arcmap模型构建器处理NC格式数据
  15. 维融高拍仪驱动通用_动态展示和教学 良田YL1050AF高拍仪评测
  16. 深入解读HTTP3的原理及应用
  17. 数据库事物,隔离级别慢慢深入
  18. html怎么用img添加图片,img标签(html怎么用img添加图片)
  19. 威眼(WeaView)企业计算机监管系统如何安装客户端和日常使用
  20. 计算机投诉信英语作文,投诉信英语作文(通用5篇)

热门文章

  1. 关于ubuntu系统的scp服务提示Permission denied
  2. [MySQL光速入门]020 事务
  3. vue里面使用echarts实现根据浏览器屏幕大小自适应
  4. 手机java系统说明什么_Android的手机系统是开源的,开源到底是什么意思?
  5. Windows下磁盘配额的使用量问题
  6. 计算机科学与技术学习心得
  7. 配置Hadoop格式化namenode时报错cannot create directory /usr/local/hadoop/tmp/dfs/name/current
  8. WSL gcc -m32 readdir 出错: Value too large for defined data type
  9. 【C语言实现井字棋及电脑落子优化】
  10. 阿里云天池大数据:【入门】精灵宝可梦数据集分析