#include <set>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Egalitarianism
{
public:
void DFS(vector<string> &v,int p,char flag[])
{
int i,j;
for (i=;i<v.size();i++)
{
if (v[p][i]=='Y')
{
if (flag[i]==)
{
flag[i]=;
DFS(v,i,flag);
}
}
}
}
bool isLiantong(vector <string> v)
{
char flag[];
int i,j;
memset(flag,,);
flag[]=;
DFS(v,,flag);
for (i=;i<v.size();i++)
{
if (flag[i]==)
{
return false;
}
}
return true;
}
int dst[][];
void initdst(vector <string> &v)
{
int i,j;
for (i=;i<v.size();i++)
{
for (j=;j<v.size();j++)
{
if (i==j)
{
dst[i][i]=;
}
else if (v[i][j]=='Y')
{
dst[i][j]=;
}
else
{
dst[i][j]=;
}
}
}
}
int mindst(int n)
{
int i,j,k;
for (k=;k<n;k++)
{
for (i=;i<n;i++)
{
for (j=;j<n;j++)
{
if (dst[i][k]+dst[k][j]<dst[i][j])
{
dst[i][j]=dst[i][k]+dst[k][j];
}
}
}
}
int re=;
for (i=;i<n;i++)
{
for (j=;j<n;j++)
{
if (dst[i][j]>re&&dst[i][j]<)
{
re=dst[i][j];
}
}
}
return re;
}
int maxDifference(vector <string> isFriend, int d)
{
if (isLiantong(isFriend)==false)
{
return -;
}
if (d==)
{
return ;
}
initdst(isFriend);
return d*mindst(isFriend.size());
}
}; int main()
{
Egalitarianism sol;
vector<string> v;
v.push_back("NYYY");
v.push_back("YNYY");
v.push_back("YYNY");
v.push_back("YYYN"); cout<<sol.maxDifference(v,)<<endl;
}

Topcoder SRM584 DIV 2 500的更多相关文章

  1. TopCoder SRM 639 Div.2 500 AliceGameEasy

    题意: 一个游戏有n轮,有A和B比赛,谁在第 i 轮得胜,就获得 i 分,给出x,y,问A得x分,B得y分有没有可能,如果有,输出A最少赢的盘数 解题思路: 首先判断n(n+1)/2 = (x+y)是 ...

  2. TopCoder SRM 639 Div.2 500 AliceGameEasy --乱搞

    题意: 一个游戏有n轮,有A和B比赛,谁在第 i 轮得胜,就获得 i 分,给出x,y,问A得x分,B得y分有没有可能,如果有,输出A最少赢的盘数. 解法: 这题是我傻逼了,处理上各种不优越,要使n*( ...

  3. TopCoder SRM 633 Div.2 500 Jumping

    题意:给一个点(x,y),给一些步长delta1,delta2...deltaN,问从(0,0)严格按照步长走完N步后能否正好到达(x,y)点. 解法:其实就是判断这些线段和(0,0)-(x,y)这条 ...

  4. TopCoder[SRM513 DIV 1]:PerfectMemory(500)

    Problem Statement      You might have played the game called Memoria. In this game, there is a board ...

  5. 求拓扑排序的数量,例题 topcoder srm 654 div2 500

    周赛时遇到的一道比较有意思的题目: Problem Statement      There are N rooms in Maki's new house. The rooms are number ...

  6. TopCoder[SRM513 DIV 1]:Reflections(1000)

    Problem Statement      Manao is playing a new game called Reflections. The goal of the game is trans ...

  7. Topcoder SRM583 DIV 2 250

    #include <string> #include <iostream> using namespace std; class SwappingDigits { public ...

  8. Topcoder SRM 619 DIv2 500 --又是耻辱的一题

    这题明明是一个简单的类似约瑟夫环的问题,但是由于细节问题迟迟不能得到正确结果,结果比赛完几分钟才改对..耻辱. 代码: #include <iostream> #include <c ...

  9. 【补解体报告】topcoder 634 DIV 2

    A:应该是道语文题,注意边界就好: B:开始考虑的太复杂,没能够完全提取题目的思维. 但还是A了!我愚蠢的做法:二分答案加暴力枚举, 枚举的时候是完全模拟的,比如每次取得时候都是从大到小的去取,最后统 ...

随机推荐

  1. 使用@Configuration注解来代替Spring的bean配置

    下面是一个典型的Spring配置文件(application-config.xml): <beans> <bean id="orderService" class ...

  2. 使用Log4Net完成异常日志处理

    1.在MVC的Modal文件夹建一个异常处理过滤器 public class MyExceptionAttribute:HandleErrorAttribute { public static Que ...

  3. 设置程序集(dll)引用路径,整洁美观

    static class Program { //设置引用程序集路径 static Program() { AppDomain.CurrentDomain.SetData("PRIVATE_ ...

  4. PowerDesigner反向工程,根据Oracle数据库结构生成ER图(2014-3-25记)

    01.添加数据服务端 02. PowerDesigner 1. 新建PDM:选择菜单File->New Model,[Model type]选择Physical Data Model,[DBMS ...

  5. Python—装饰器

    装饰器 1.普通函数 #简单的函数和调用 def a1(): print("i am zhangsan") def a2(): print("i am lisi" ...

  6. [课程设计]Scrum 1.5 多鱼点餐系统开发进度(点餐页面框架修复及继续布置)

    Scrum 1.5 多鱼点餐系统开发进度(点餐页面框架修复及继续布置)  1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅 ...

  7. zigbee学习之路(五):定时器1(查询方式)

    一.前言 今天,我们来学习几乎所有单片机都有的功能,定时器的使用,定时器对单片机来说是相当重要的,有了它,单片机就可以进行一些复杂的工作. 二.原理与分析 谈到定时器的控制,我们最先想到的是要给它赋初 ...

  8. Unix网络编程--卷二:FAQ

    1.编译unpipc库. 执行./configure时报错: checking host system type... Invalid configuration `x86_64-pc-linux-g ...

  9. 复习练习(03)jquery Css方法一步步升级

    jquery Css方法一步步升级 <script src="jquery-1.8.3.js"></script> <script type=&quo ...

  10. [问题2014S13] 解答

    [问题2014S13]  解答 (1) 先证必要性:若 \(A=LU\) 是 非异阵 \(A\) 的 \(LU\) 分解,则 \(L\) 是主对角元全部等于 1 的下三角阵,\(U\) 是主对角元全部 ...