5700: 还钱问题

时间限制: 1 Sec  内存限制: 128 MB
提交: 54  解决: 14
[ 提交][ 状态][ 讨论版]

题目描述

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。

输出

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

样例输入

3
0 1 0
0 0 1
1 0 0

样例输出

0

提示

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

【题意】

中文题意,很好理解

【思路】

每个人都有支出和收入,  那么  一个人的 收入与支出的 差值时可以计算出来的。

把差值计算出来,  然后贪心查找, 先去找等价的,  这样就 不用抵消,  其次 去找最大与最小的贪心;

【代码实现】

#include <iostream>
#include <bits/stdc++.h>using namespace std;int maps[500][500];const int MAXN=500;
vector<int> V;
int a[MAXN],b[MAXN],c[MAXN];
int cot=0;
int n;
void finds(int x)
{for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(c[i]==(-c[j])&&c[i]!=0)c[i]=c[j]=0,cot++;}}
}
void ojbk()
{int  m1=1,m2=1;for(int i=1;i<=n;i++){if(c[i]>c[m1])m1=i;if(c[i]<c[m2])m2=i;}if(m1==m2)return ;c[m2]+=c[m1];c[m1]=0;cot++;
}
int main()
{memset(maps,0,sizeof(maps));cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>maps[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){a[i]+=maps[i][j];b[j]+=maps[i][j];}}for(int i=1;i<=n;i++){c[i]=a[i]-b[i];//cout<<c[i]<<endl;}for(int i=1;i<=n;i++){finds(i);ojbk();}cout<<cot<<endl;return 0;
}

123

转载于:https://www.cnblogs.com/sizaif/p/9078372.html

2018山东冬令营:还钱问题,UPC(5700) 还钱问题相关推荐

  1. 2018山东冬令营:UPC 计数问题 (二维树状数组)

    计数问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 185  解决: 51 [提交][状态][讨论版][命题人:admin] 题目描述  一个n*m的方格,初始时每个格子有一个整数权 ...

  2. 2018山东冬令营:摘樱桃 (思维)

    摘樱桃 时间限制: 1 Sec  内存限制: 128 MB 提交: 77  解决: 30 [提交][状态][讨论版] 题目描述 有n个樱桃排成一列,第i个樱桃的甜度为v[i],你要把n个樱桃分成若干组 ...

  3. 5700: 还钱问题

    5700: 还钱问题 题目描述 STOI团队里的兄弟们脑子里装满算法,出门经常忘了带钱,于是经常有甲向乙借钱买大饼,乙向丙借钱买饮料这种事发生. 换成OI语言描述就是:这团队有N个人,每个人都跟别人借 ...

  4. 现金贷平台倒闭后,借的钱是否可以不还?

    目前火热的现金贷遭到一盆冷水,国家已经开始着手大力整顿那些不合规的现金贷,凡是没有获得相关放贷资质的就不能从事现金贷业务. 在监管重拳整顿之下,很多现金贷已经开始吃不消,甚至有的面临倒闭的风险.11月 ...

  5. 18年高考云南628分想学计算机,2018山东高考投档线公布!山大文624理628…快查查你学校多少分进档...

    原标题:2018山东高考投档线公布!山大文624理628-快查查你学校多少分进档 考生注意! ↓↓↓ 山东省2018年普通高校招生文理类本科普通批.春季高考本科.艺术类本科校考批首次志愿于7月19日投 ...

  6. 程序员赚的辛苦钱及好朋友借钱[借钱时你是爷爷,借出去后丢一个朋友不说还多出一个爷爷]

    程序员来钱,大多都不太容易的,基本上都是辛苦钱比较多,就像我这么蛮脑子都是经商意识的人,也都是靠一行行代码,辛苦编写调试,不断完善,才能赚来一点儿小钱,说白了仅仅销售500元一整套源码的软件,卖得也不 ...

  7. 2018中山大学计算机分数线,中山大学2018年各专业录取分数线,你还差多少分?...

    原标题:中山大学2018年各专业录取分数线,你还差多少分? 大学简介 中山大学是教育部和广东省共建的全国重点大学,是国家"双一流"A类."985工程".&quo ...

  8. 山东二本计算机排名大学最新,2018山东二本大学排名

    山东最好的二本大学是哪所?在最新公布的山东二本大学排行榜中哪些高校榜上有名?下文有途网小编给大家整理了2018最新山东二本大学排名,供参考! 2018年山东二本大学排行榜[最新公布] 在最新公布的中国 ...

  9. 租电脑考计算机二级.租什么配置,校园租电脑套路深,这个配置要6块钱一天,还电脑的时候还有陷阱...

    原标题:校园租电脑套路深,这个配置要6块钱一天,还电脑的时候还有陷阱 Hello大家好,我是兼容机之家的咖啡. 对于在校学生或者刚毕业并且酷爱游戏的小伙伴,是不是经常往网吧里面跑,毕竟带台式机不方便, ...

最新文章

  1. 智能合约开发环境搭建及Hello World合约
  2. 附录2:Numpy实例记录
  3. 南工计算机调剂,南京工业大学2021年硕士研究生调剂公告
  4. asp.net panel 加html,ASP.NET 页面中动态增加的控件、添加事件
  5. MySQL复制表-INSERT INTO SELECT
  6. 同事给我埋了个坑:Insert into select语句把生产服务器炸了
  7. java web获取请求体内容
  8. 数据挖掘:模型选择——SVM
  9. 漏洞自动扫描神器AWVS 11安装与使用教程
  10. Max Core Frequency 异常显示为-1.80GHz -- Intel-Extreme-Tuning-Utility-Intel-XTU (英特尔 XTU)
  11. 网上图书订阅系统的WBS图,和WBS字典
  12. 弹窗代码大全 弹窗广告代码
  13. 关于virtualbox无法复制粘贴的问题
  14. 抖音上坤之大强之作是什么意思
  15. python自相关函数提取基音周期_自相关函数法基音周期提取(matlab版)
  16. 基于php的房产中介信息网
  17. 【工程/物理光学(二)——几何光学基础与光的成像】
  18. JavaSE02-JVM、JRE、JDK
  19. 使用dscaler在windows下播放电视的设置
  20. 谈谈 Bias-Variance Tradeoff

热门文章

  1. 张启发院士给他的博士生的一封信(转载)
  2. 2062【例1.3】电影票-一 c++语言入门-c++语言
  3. GitHub 9K Star!Apollo作者手把手教你微服务配置中心之道
  4. Ubuntu下使用FreeRadius实现Wifi认证
  5. 我的世界服务器vip账号和密码是多少,我的世界hypixel服务器会员有什么区别 hypixel服务器会员介绍...
  6. 关于Java的二十篇技术热文
  7. android auto领动,动力系统非常出色 小试北京现代领动
  8. uni-app:实现PayPal支付功能
  9. 13、Kanzi插件——通过Kanzi Engine插件创建自定义节点+代码解析
  10. python玩转我的世界_PYTHON玩转我的世界——批量生成铁傀儡