链接:http://codeforces.com/gym/101116

学弟写的,以后再补

#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <cstring>
#include <map>
#include <vector>
using namespace std;
map<string,int>v,ans;
vector<int>que[40020];
string b[40020];
int pre[40020],vis[40020],a[40020],c[40020],d[40020]; void dfs(int x){
if(c[x]==1) ans[b[x]]=1;
vis[x]=1;
for(int i=0;i<que[x].size();i++){
int y=que[x][i];
if(!vis[y]){
dfs(y);
}
}
} int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int T,n,m,k,cnt,p;
cin>>T;
string s,s1;
while(T--){
memset(vis,0,sizeof(vis));
memset(c,0,sizeof(c));
cnt=0,p=1;
cin>>n>>m>>k;
for(int i=0;i<n;i++){
cin>>s;
if(!v[s]){
b[p]=s;
v[s]=p++;
}
d[i]=v[s];
}
for(int i=0;i<m;i++){
cin>>s;
if(!v[s]){
b[p]=s;
v[s]=p++;
}
c[v[s]]=1;
}
while(k--){
cin>>s>>s1;
if(!v[s]) {
b[p]=s;
v[s]=p++;
}
if(!v[s1]) {
b[p]=s1;
v[s1]=p++;
}
que[v[s]].push_back(v[s1]);
}
for(int i=0;i<n;i++){
if(!vis[d[i]]){
dfs(d[i]);
}
}
int f=1;
for(auto it : ans){
if(f) f=0,cout<<(it.first);
else cout<<" "<<(it.first);
}
if(!f) cout<<endl;
v.clear(),ans.clear();
for(int i=0;i<40020;i++) que[i].clear();
}
}

  

2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) E的更多相关文章

  1. 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) J

    链接:http://codeforces.com/gym/101116 题意:给出n个点,要求一个矩形框将(n/2)+1个点框住,要面积最小 解法:先根据x轴选出i->j之间的点,中间的点(包括 ...

  2. 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) I

    链接:http://codeforces.com/gym/101116 题意:选六个数,必须出现次数最多,且数字最小,如果出现7优先加入7 解法:排序,出现7优先加入7,最后再将6个数排序 #incl ...

  3. 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) B

    链接:http://codeforces.com/gym/101116 学弟做的,以后再补 #include <iostream> #include <stdio.h> #in ...

  4. 2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6(8/13)

    2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6 比赛连接: http://codeforces.com/gym/101124/ ...

  5. 2016-2017 CT S03E07: Codeforces Trainings Season 3 Episode 7 - HackerEarth Problems Compilation

    B: 思路: 暴力,每两个判断一下; C: 思路: 容斥定理,先枚举脖子下面那个点和那个不可描述的点,算出所有的方案数,这里面有多的腿当成了脖子或者胳膊的,然后就再枚举这种情况把这些减去,又减多了; ...

  6. 2016-2017 CT S03E02: Codeforces Trainings Season 3 Episode 2

    A HHPaint B Square Root C Interesting Places D Road to Home E Ant and apples F Square G Pair H The F ...

  7. 2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6 The Baguette Master

    比赛看不懂 之后不确定题意去瞄了题解,需要分类讨论?囧 之后按照队友已经ac的题意 就是求外面一圈周长,直接可以求得 #include<bits/stdc++.h> using names ...

  8. 2016-2017 CT S03E07: Codeforces Trainings Season 3 Episode 7

    B. Pen Pineapple Apple Pen Solved. 题意:将一个序列合并成一个数. 思路:分类讨论一下, 水. #include<bits/stdc++.h> using ...

  9. 2014-2015 Codeforces Trainings Season 2 Episode 7 G Gophers --线段树

    题意: 有n个地鼠,m个CD碟,每个CD碟有一个影响范围,范围内的地鼠都会被吵到,每次有一个操作就是移动CD碟,然后求每次被影响的地鼠有多少只. 解法: 线段树做.我们只关注地鼠有没有被吵到就可以了, ...

随机推荐

  1. 转:python webdriver API 之定位一组对象

    webdriver 可以很方便的使用 find_element 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,WebElement 接口同样提供了定位一组元素的方法 find_eleme ...

  2. [Reprint] C++函数模板与类模板实例解析

    这篇文章主要介绍了C++函数模板与类模板,需要的朋友可以参考下   本文针对C++函数模板与类模板进行了较为详尽的实例解析,有助于帮助读者加深对C++函数模板与类模板的理解.具体内容如下: 泛型编程( ...

  3. Python学习总结19:类(二)

    参考:http://python.jobbole.com/82308/ 继承和__slots__属性 1. 继承    在Python中,同时支持单继承与多继承,一般语法如下: class SubCl ...

  4. Python学习总结6:字符串格式化操作及方法总结

    1. 格式化操作(%) Python中内置有对字符串进行格式化的操作. 模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格 ...

  5. android 单例模式

    单例模式特点: 1.一个类只能有一个实例 2.自己创建这个实例 3.整个系统都要使用这个实例 单例模式的形式: 1.饿汉式单例类 public class Singleton { private Si ...

  6. 13---Net基础加强

    更新中,敬请期待............ 作业-复习 程序集1 程序集2 反射1 反射2 反射3 反射4-记事本插件1 反射5-记事本插件2

  7. sql server 查看数据库编码格式

    user masterselect SERVERPROPERTY(N'edition') as Edition --数据版本,如企业版.开发版等,SERVERPROPERTY(N'collation' ...

  8. Logic BIST

    Logic BIST is crucial for many applications, in particular for life-critical and mission-critical ap ...

  9. 三层与MVC

    三层架构(3-tier architecture) 我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一 ...

  10. 由ccf第一题引出的问题

    当时的情况是这样的,代码中需要用到一个较大的二维数组,但只要定义这个大二维数组编译就出错,无奈后来用malloc自己实现了类似二维数组的操作. 其中的b数组设为全局的或者静态的也都可以解决overfl ...