Codeforces D. Giving Awards 412(DFS)
来源:互联网 发布:淘宝标着极有家可信吗 编辑:程序博客网 时间:2024/06/06 02:05
题意:
给出n , m 然后给出m组关系, 表示前者不能出现在后者的前方, 即 a b 不行 但是 b a 是可以的
然后构建出一个序列 满足所有关系。
题解:
由题可知 , 需要满足关系, 直接构图, 然后DFS , 然后反向输出答案 然后没了。
代码:
#include<stdio.h>
#include<iostream>
#include<vector>
#include<string.h>
using namespace std;
vector<int> mark[30005];
vector<int> Ans;
int vis[300005], n, m;
void dfs(int x)
{
vis[x] = 1;
for(int i = 0; i < mark[x].size(); i++)
{
if(vis[mark[x][i]]) continue;
dfs(mark[x][i]);
}
Ans.push_back(x);
}
int main()
{
int a, b;
while(scanf("%d %d", &n, &m) != EOF)
{
for(int i = 1; i <= n; i++) mark[i].clear();
Ans.clear();
memset(vis, 0, sizeof(vis));
for(int i = 1; i <= m; i ++)
scanf("%d %d", &a, &b), mark[a].push_back(b);
for(int i = 1; i <= n; i++)
if(!vis[i]) dfs(i);
for(int i = 0; i < Ans.size(); i++)
printf("%d ", Ans[i]);
printf("\n");
}
}
- Codeforces D. Giving Awards 412(DFS)
- codeforces 412D. Giving Awards (dfs)
- CodeForces 412D - Giving Awards (dfs)
- CodeForces 412D Giving Awards
- Codeforces 412D Giving Awards(拓扑排序)
- Codeforces D. Giving Awards 412 题解
- CF D. Giving Awards(dfs)
- Codeforces 421D Giving Awards 策略题
- CF 412 D Giving Awards(拓扑排序)
- Coder-Strike 2014 - Round 1 D. Giving Awards
- codeforces 723D(DFS)
- CodeForces 327D Block Tower(DFS)
- CodeForces - 560D Equivalent Strings (DFS)
- Codeforces 707D Persistent Bookcase(DFS)
- codeforces 707D-(DFS+bitset)
- codeforces 711D Directed Roads(DFS)
- codeforces 598D dfs
- 【codeforces 723D 】 + DFS
- 跟我学Spring系列链接
- Service总结(二)
- PHPStorm下XDebug配置
- Java中带标签的break、continue
- CSAPP 深入理解计算机系统 Buflab实验,缓冲区溢出攻击实验(6)
- Codeforces D. Giving Awards 412(DFS)
- 面试总结-经验篇
- 泛型
- [leetcode] Reverse Linked List
- [leetcode][DP] Word Break
- Android Socket
- AIX 6.1 Oracle11g 11.2.0.4 RAC 安装心得
- 简述设计数据库的步骤
- jquery ajax 方法中传递的data参数,如何在java类中获取