1978: LXX的图论题

Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 71     Solved: 27


Description

由于lxx的图论和数据结构太弱了,大佬Z决定为lxx补一补。于是大佬Z为lxx出了一道题目,题目如下:给出一张有向图,图中有n个点,m条边,每条边上都有一个权值w,问图中是否存在满足以下条件的点i,j,...p使得不等式w[i][j] * w[j][k] * .... * w[p][i]<1成立。奈何lxx太弱了,他决定寻求你的帮助。

Input

多组输入,以文件结尾。第一行两个整数n( 1<=n<=500 ),m( 1<=m<=n*(n-1)/2 ),接下来m行,每行3个数x,y,z,(x≠y):表示x到y有一条边,权值为z(0<z<20,且保证z小数点后面最多只有一位)。

Output

如果存在满足题目所描述的式子,输出“YES”,否则输出“NO”。

Sample Input

2 2
1 2 0.9
2 1 1.2
6 4
1 2 0.1
2 4 0.8
4 1 12
4 1 15

Sample Output

NO
YES

Hint

点的编号为1~n

Source

2017年8月月赛

Author

廖璇璇

题解:

直接floyd一次

 #include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#define INF 0x4f4f4f
using namespace std;
double mp[][];
double dist[][];
int n,m;
double floyd()
{
int i,j,k;
double minn=999999.0;
for(k=; k<=n; k++)
{
for(i=; i<=n; i++)
for(j=; j<=n; j++)
{
if(dist[i][j]>dist[i][k]*dist[k][j])
{
dist[i][j]=dist[i][k]*dist[k][j];
}
}
}
for(i=; i<=n; i++)
minn=min(minn,dist[i][i]);
return minn;
}
int main()
{
int s,t;
double v;
while(~scanf("%d%d",&n,&m))
{
memset(mp,,sizeof(mp));
for(int i=; i<=n; i++)
for(int j=; j<=n; j++)
dist[i][j]=INF;
for(int i=; i<m; i++)
{
scanf("%d %d %lf",&s,&t,&v);
mp[s][t]=min(mp[s][t],v);
dist[s][t]=min(dist[s][t],v);
}
// printf("%lf\n",dist[1][4]);
if(floyd()<)
printf("YES\n");
else printf("NO\n");
}
return ;
}

csu 1978: LXX的图论题的更多相关文章

  1. cojs QAQ的图论题 题解报告

    话说这个题目应该叫做 斯特林数的逆袭 QAQ 先说一说部分分的算法 1.n<=5 直接暴力搜索就可以了 2.k=0的时候不难发现任意一张图的价值都是n,问题转化为计算有多少种图,显然是2^C(n ...

  2. 【XSY2887】【GDOI2018】小学生图论题 分治FFT 多项式exp

    题目描述 在一个 \(n\) 个点的有向图中,编号从 \(1\) 到 \(n\),任意两个点之间都有且仅有一条有向边.现在已知一些单向的简单路径(路径上任意两点各不相同),例如 \(2\to 4\to ...

  3. 【HDOJ图论题集】【转】

    =============================以下是最小生成树+并查集====================================== [HDU] How Many Table ...

  4. HDU 6343 - Problem L. Graph Theory Homework - [(伪装成图论题的)简单数学题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6343 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...

  5. 图论常用算法之一 POJ图论题集【转载】

    POJ图论分类[转] 一个很不错的图论分类,非常感谢原版的作者!!!在这里分享给大家,爱好图论的ACMer不寂寞了... (很抱歉没有找到此题集整理的原创作者,感谢知情的朋友给个原创链接) POJ:h ...

  6. HDU图论题单

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  7. csu 1984: LXX的能力值

    1984: LXX的能力值 Submit Page   Summary   Time Limit: 3 Sec     Memory Limit: 128 Mb     Submitted: 17   ...

  8. BZOJ2118: 墨墨的等式(同余类BFS)(数学转为图论题)

    2118: 墨墨的等式 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 2944  Solved: 1206[Submit][Status][Discu ...

  9. GDOI2018 小学生图论题 [NTT]

    并没有传送门qwq 思路 首先要知道一个结论(或者说是一个套路):一个竞赛图缩点之后必定是一条链. 那么强联通分量的个数,就是这条链的边数+1. 考虑一条边什么时候会出现:当且仅当点集可以被分成\(S ...

随机推荐

  1. iOS App开发那些事:如何选择合适的人、规范和框架?

    http://www.cocoachina.com/ios/20141202/10386.html 自从做Team Leader之后,身上权责发生了变化,于是让我烦恼的不再是具体某个功能,某个界面的实 ...

  2. 第8章 动态SQL

    8.1动态SQL中的元素 8.2<if>元素 举例,在映射文件中: <select id="findCustomerByNameAndJobs" paramete ...

  3. linux 打印当前工作目录

    pwd

  4. [Java] Spring boot 的 SrpingSecurity 框架搭建

    参考: SrpingSecurity]之一:框架搭建https://blog.csdn.net/qq_28296925/article/details/82021092 [SpringSecurity ...

  5. %lld 和 %I64d

    在Linux下输出long long 类型的是 printf("%lld", a); 在Windows下输出是 printf("%I64d", a); xxy学 ...

  6. bzoj 1260涂色 题解

    题面 区间dp, 我学的也不怎么好. myj说动态规划就是搜索的无限剪枝. 所以是搜了网上的代码, 看了看. 思路就是枚举区间,f数组就是存储从i到j需要的最少次数, 当然一开始他们的值要先设置一个很 ...

  7. SQL基础-游标&事务

    一.游标 1.游标简介 SQL是一种集合操作语言,但有时候需要对单行操作怎么办呢? 也就是有时候会过滤出不止一行的数据,但是想一行行的处理: ---游标 游标: 从集合中依次提取单条记录,直接提取完最 ...

  8. nuxtjs在vue组件中使用window对象编译报错的解决方法

    我们知道nuxtjs是做服务端渲染的,他有很多声明周期是运行在服务端的,以及正常的vue声明周期mounted之前均是在服务端运行的,那么服务端是没有比如window对象的location.navag ...

  9. 关于C++中extern的简单笔记

    extern可以实现多文件共享同一个变量.const常量.函数. 下面结合几个例子来讲一下extern的相关性质(下述皆为多文件编译): 例1: //file1.cpp #include<ios ...

  10. OpenVSwitch

    参考: https://opengers.github.io/openstack/openstack-base-use-openvswitch/ 这篇原理部分就不贴出来了,请自行参考上文,并根据自行实 ...