HDU-2017 多校训练赛9-1005-FFF at Valentine
来源:互联网 发布:php 取数组最大值 编辑:程序博客网 时间:2024/06/11 14:59
ACM模版
描述
题解
两遍
代码
#include <cstdio>#include <vector>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 1111;int n, m;bool vis[MAXN][2];vector<int> vs;vector<int> vi[MAXN];vector<int> rvi[MAXN];void add_edge(int u, int v){ vi[u].push_back(v); rvi[v].push_back(u);}void dfs_1(int x){ vis[x][0] = true; for (int i = 0; i < vi[x].size(); i++) { if (!vis[vi[x][i]][0]) { dfs_1(vi[x][i]); } }}void dfs_2(int x){ vis[x][1] = true; for (int i = 0; i < rvi[x].size(); i++) { if (!vis[rvi[x][i]][1]) { dfs_2(rvi[x][i]); } }}void init(){ vs.clear(); for (int i = 0; i <= n; i++) { vi[i].clear(); rvi[i].clear(); }}int main(){ int T; scanf("%d",&T); while (T--) { init(); scanf("%d%d", &n, &m); int u, v; for (int i = 0; i < m; i++) { scanf("%d%d", &u, &v); add_edge(u, v); } bool falg = false; for (int i = 1; i <= n; i++) { memset(vis, false, sizeof(vis)); dfs_1(i); dfs_2(i); for (int i = 1; i <= n; i++) { if (!vis[i][0] && !vis[i][1]) { falg = true; break; } } if (falg) { break; } } if (falg) { printf("Light my fire!\n"); } else { printf("I love you my love and our love save us!\n"); } } return 0;}
阅读全文
0 0
- HDU-2017 多校训练赛9-1005-FFF at Valentine
- 【多校训练】hdu 6165 FFF at Valentine
- FFF at Valentine HDU
- FFF at Valentine HDU
- HDU6165 FFF at Valentine(深搜dfs,2017 HDU多校联赛 第9场)
- HDU6165 FFF at Valentine(深搜dfs,2017 HDU多校联赛 第9场)
- HDU 6165 FFF at Valentine
- HDU-6165 FFF at Valentine
- HDU 6165 FFF at Valentine
- HDU 6165 FFF at Valentine
- hdu--6165--FFF at Valentine
- HDU 6165 FFF at Valentine
- hdu 6165 FFF at Valentine
- hdu-6165 FFF at Valentine
- [HDU 6165]FFF at Valentine
- HDU-6165-FFF at Valentine
- hdu6165 FFF at Valentine 2017多校第九场1005 dfs
- HDU6165-FFF at Valentine
- untiy Application API
- android的文件操作
- 基于ServletContextListener以及TimerTask实现Java/WEB的定时任务处理
- Python中is和==的区别
- Java数组去重的多种方法
- HDU-2017 多校训练赛9-1005-FFF at Valentine
- 海思Hi3521A开发概述
- java提高篇(九)-----实现多重继承
- 如何在小程序中调用本地接口
- PAT-B 1011A+B和C
- 算法模板之二分匹配
- JavaSE 反射 Part2
- 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
- 记一次,软键盘设置android:imeOptions="actionDone"在华为手机上无效的坑