zoukankan      html  css  js  c++  java
  • 2016-2017 CT S03E05: Codeforces Trainings Season 3 Episode 5 (2016 Stanford Local Programming Contest, Extended) E

    链接: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();
    	}
    }
    

      

  • 相关阅读:
    Linux系统之-TCP-IP链路层
    TCP-IP协议简介
    一些概念
    Bolzano-Weierstrass 定理
    Newton 插值法
    用 Ipe 画图
    Codeforces #677D Vanya and Treasure
    Codeforces #990E Post Lamp
    hihoCoder #1763 道路摧毁
    hihoCoder #1758 加减
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/6049397.html
Copyright © 2011-2022 走看看