1366 贫富差距

1366 贫富差距

题目来源: TopCoder

基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题

一个国家有N个公民,标记为0,1,2,...,N-1,每个公民有一个存款额。已知每个公民有一些朋友,同时国家有一条规定朋友间的存款额之差不能大于d。也就是说,a和b是朋友的话,a有x元的存款,b有y元,那么|x-y|<=d。给定d值与N个人的朋友关系,求这个国家最富有的人和最贫穷的人的存款相差最大的可能值是多少?即求贫富差距的最大值的下界。若这个值为无穷大,输出-1.

Input

多组测试数据,第一行一个整数T,表示测试数据数量,1<=T<=5
每组测试数据有相同的结构构成。
每组数据的第一行两个整数N,d,表示人数与朋友间存款差的最大值,其中2<=N<=50,0<=d<=1000.
接下来有一个N*N的数组A,若A[i][j]=‘Y‘表示i与j两个人是朋友,否则A[i][j]=‘N‘表示不是朋友。其中A[i][i]=‘N‘,且保证
A[i][j]=A[j][i].

Output

每组数据一行输出,即这个国家的贫富差距最大值的下界,如果这个值为无穷大输出-1.

Input示例

3
3 10
NYN
YNY
NYN
2 1
NN
NN
6 1000
NNYNNN
NNYNNN
YYNYNN
NNYNYY
NNNYNN
NNNYNN

Output示例

20
-1
3000

//容易想到,看做一个01图的话,有两个及以上连通块就是 -1,然后求出连通块内最远距离即可

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 #define INF 0x3f3f3f3f
 4 #define LL long long
 5 #define MOD 1000000007
 6 #define MX 55
 7
 8 int n, d;
 9 char str[MX];
10 int G[MX][MX];
11
12 int main()
13 {
14     int T;
15     scanf("%d",&T);
16     while (T--)
17     {
18         scanf("%d%d",&n,&d);
19         memset(G,0x3f,sizeof(G));
20         for (int i=1;i<=n;i++)
21         {
22             scanf("%s",str+1);
23             for (int j=1;j<=n;j++)
24             {
25                 if (str[j]==‘Y‘)
26                     G[i][j] = 1;
27                 else
28                     G[i][j] = INF;
29             }
30         }
31         for (int k=1;k<=n;k++)
32             for (int i=1;i<=n;i++)
33                 for (int j=1;j<=n;j++)
34                     G[i][j] = min(G[i][j],G[i][k]+G[k][j]);
35         int mmm=0, ok=1;
36         for (int i=1;i<=n;i++)
37         {
38             for (int j=i+1;j<=n;j++)
39             {
40                 if (G[i][j]==INF)
41                     ok=0;
42                 mmm = max(mmm,G[i][j]);
43             }
44         }
45         if (ok)
46             printf("%d\n",mmm*d);
47         else
48             printf("-1\n");
49
50     }
51     return 0;
52 }

				
时间: 2024-10-11 07:03:13

1366 贫富差距的相关文章

谁拉大了中国制造的贫富差距?

中国制造自诞生之日起就没有得到过公正的评价,身上的标签也多半是灰色的,比如血汗.剥削.无含金量,还有什么产业链最低端等等,即便是在其最辉煌的时候,公众在谈论起制造业时,也常常充满着鄙夷的口气.在这种舆论环境中,制造业运作正常还好,一旦出现任何状况,都会被舆论无限放大,此前,富士康曾因坠楼门而被推上风口浪尖,在最疯狂的讨伐岁月中,人人都变成了上帝,变成了拯救流水线工人的救世主,莫说是超时加班或者职业危害等问题,就连园区里的一棵树倒了,舆论也恨不得把责任归到郭台铭的管理头上:另外,自去年春节开始,珠

造成贫富差距大的原因

造成贫富差距大的原因 主要从国家大环境角度分析考虑. 1.东西部基础经济差异大. 改革开放以来,国家政策是先让一部分人富起来,导致国家良好的经济政策的实施和资金的投入集中在经济特区和沿海地区,大部分的外资流向以及外资企业的引入也集中于此.机会成本原理,这必然导致其他地区资金的匮乏,为日后国家经济的畸形发展住下恶果.而起步快的沿海地区乘着经济全球化的顺风,这搜快艇后劲更加迅猛,导致资金涌入的天平更加倒向经济发达地区,愈演愈烈. 2.经济发达地区基础建设好. 经济发达地区建筑,交通,通信等基础建设相

千兆宽带会加剧中国贫富差距吗?

日前,千兆宽带的概念正逐步升温,专家们纷纷各出奇谋地解构千兆宽带,从技术要求,到产业模式,再到政策支持,仅仅用了大概一周的时间,大家就联手把一个遥远的未来事情迅速拉到现实生活中,让一些网速发烧友好梦连连,在梦中,他们打游戏再也不用担心卡壳了,而下载一部高清电影,速度快得就跟在QQ上发条即时消息"呵呵"一样,总之,大家恨不得全世界都因千兆宽带而变得美丽富饶,没有贫穷.疾病和战争,人类和平友爱. 人类对网速的要求永无止境,即便我现在上网仅仅是浏览新闻和收集材料,偶尔地看个老掉牙的电视剧,有

51nod-1366 贫富差距——并查集

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1366 #include <iostream> #include <cstdio> #include <set> #define maxn 0x3f3f3f using namespace std; int f[55][55]; char m[55][55]; int main() { // freopen("in.txt&

中国目前的经济水平与美国有多少差距?

这篇文章原来发表在知乎上,现已被和谐,转载到此. 回答问题:「中国目前的经济水平是五年前的香港,十年前的美国」的说法正确吗? 中国和美国其实是一对好基友.美国走过的道路,中国都一步一步的跟着要走一遍. 在两百年前(1800年前后)的欧洲,英国通过工业革命,在能源(蒸汽机技术革新,推动了煤炭业的发展).材料(冶铁业).交通(火车和轮船).金融(银行的出现)等四个方面实现了飞跃式的发展,傲视全球.很快,这些技术传播到欧洲大陆,荷兰.法国也先后富裕了起来.在这些先富起来的欧洲贵族眼里,此时的美国,正如

热潮下的浮夸 让中国创业者丢了灵魂

谈到创业,脑海里总会出现一个车库,那里诞生过苹果.微软.Google等具有世界影响力的企业,车库里充满着兄弟情.青春气息,大家为了同样的目标而废寝忘食,吃泡面.睡地板,在一个个寒风凛冽的冬夜里冻得瑟瑟发抖,经常几个月都不洗澡,外表邋里邋遢的,但哥几个无不思维清晰.斗志旺盛,浑身上下都是情怀和理想,经过一个画面切换,几年以后,奋斗的兄弟有的成了上市企业CEO,有的作拥香车美女,大把的股票,有的依旧朴素,却在谈吐气质上大不相同,正如<中国合伙人>里的成冬青,土鳖中的极品. 正是这样的故事吸引着越来

2015(年度总结)

2014思想的变化 想从如下几个方面说说一些自己的想法和见解 时间.迷茫.学习.感情.宽容. 这个世界本身就是不平等的,尤其是在中国.随着邓小平的先让一部分人富起来,然后带动其他富起来,一部分确实富起来了,但是没带动其他人富起来,而且贫富差距越来越大.也许富人的 100w理财1 个月的收入是你一年打拼努力也不及一毫,有时候你自己的努力在比对中会显得暗淡无光,当然成长是针对自己,比较的 point是比较现在和原来的自己的变化,和其他人比较对自己和他人都没有任何帮助,只会增加自卑感或嫉妒感.也有许多

Deep Learning(深度学习)学习笔记整理系列七

Deep Learning(深度学习)学习笔记整理系列 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除. 3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢. 4)阅读本文需要机器学习.计算机视觉.神经网络等等基础(如果没有也没关系了,没

互联网公司年终奖哪家强?都是土豪啊

一个以前在易迅上班的同学,去年被变成京东员工了.这不,年关将至向我诉苦,没得年终奖拿,标准13薪--大家都知道腾讯过去的年终奖但是出了名的土豪,只是也仅限于游戏团队,LOL团队拿60个月工资年终奖那年,微信团队就仅仅有人手一个iPhone 5和iPad mini,对照之下简直弱爆了,贫富差距太大鸟. 到了今年年终奖最抢风头的.应该是百度了,并且也開始拉大了差距. 李彦宏在今年百度年会说了,百度年终奖游戏规则变了,有人年终奖会拿到50个月工资,什么概念呢?就拿1-3年工作经验的project师,据