2018 ACM-ICPC亚洲区域赛 北京赛区

A - Jin Yong’s Wukong Ranking List

HihoCoder - 1870

题意

给N对关系,每对关系表示为A 比B 厉害,如果A比B厉害,B比C厉害,那么A比C厉害,即关系具有传递性。如果这N对关系存在矛盾,则输出矛盾的哪一个关系,否则输出0

分析

如果A比B厉害,B比A厉害就和之前的关系矛盾,构成一个环,使用DFS判断有向图是否有环即可

#include <iostream>
#include <vector>
#include <string.h>
#include<map>
using namespace std;
/*
color代表每个结点的状态,-1代表还没被访问,0代表正在被访问,1代表访问结束
如果一个状态为“0”的结点,与他相连的结点状态也为0的话就代表有环,这个可以用dfs实现
*/
vector<int> vec[120];
int color[120];
bool flag;//标记是否有环void dfs(int x){if(flag){//如果有环就返回,否者继续收索return;}color[x] = 0;//x正在被反问,状态为0for(int i = 0 ; i < vec[x].size() ; i++){if(color[vec[x][i]] == -1){//与x相连的结点状态也为-1,代表还未被访问,则继续搜索dfs(vec[x][i]);} else if(color[vec[x][i]] == 0){//与x相连的结点状态也为0,代表有环,返回flag = true;return;}}color[x] = 1;//对x的访问结束
}int main(){int n ;while(cin>>n){int k=1;for(int i=0;i<120;i++)vec[i].clear();map<string,int> mp;string ans1,ans2;//记录答案bool ans=false;//标记是否找到环for(int i = 0 ; i < n ; i++){//建立邻接表string u,v;cin >> u >> v;if(!mp[u])  mp[u]=k++;if(!mp[v])  mp[v]=k++;//cout<<mp[u]<<" "<<mp[v]<<endl;vec[mp[u]].push_back(mp[v]);flag = false;if(!ans){//还没找到环memset(color, -1, sizeof(color));dfs(mp[u]);if(flag)//存在环ans1=u,ans2=v,ans=true;}}if(ans)cout<<ans1<<" "<<ans2<<endl;elsecout<<0<<endl;}return 0;
}

2018 ACM-ICPC亚洲区域赛 北京赛区相关推荐

  1. 2018年 ACM/ICPC亚洲区域赛 青岛赛区现场赛 比赛总结

    首先祝贺自己收获了ACM生涯中的第二枚铜牌. 首先吐槽一下中石油: 周六早上来到中国石油大学,连个志愿者小姐姐都没看到.(但是看到了女装大佬).报完到之后发现教练少了一张午餐券(要不要这么粗心).为了 ...

  2. 第43届ACM icpc亚洲区域赛焦作站感想

    青岛痛失银牌,焦作又是铜牌一枚,现在想想,前面三个水题,我的原因太大了,老是犯各种zz小错误,明明能秒,却花了大量时间debug,导致三个小时才签完到,最后一个小时,F题的bfs没出来,B题也没出来, ...

  3. 2019 ICPC亚洲区域赛银川赛区题解

    E题题解 题意 给定一个 nnn 个节点的有根树,每个节点有一个权值 AiA_iAi​.定义一个集合的价值为:Value(S)=∑x∈S∑y∈S(Ax⊕Ay)2Value(S)=\sum_{x\in ...

  4. 2017年第42届ACM-ICPC亚洲区域赛青岛赛区(现场赛)

    比赛:第42届ACM-ICPC 亚洲区域赛青岛站 比赛地点:中国石油大学体育馆一楼 时间:2017-11-4 到 2017-11-5 正式比赛时间:2017-11-5 上午九点到下午两点 AC题目: ...

  5. 2014 ACM亚洲区域赛 - 北京现场赛

    2014 ACM亚洲区域赛 - 北京现场赛A - A Curious Matt一个排序,找最大值,overB - Black And White数据范围很小,单纯的暴力会TLE,看题解,染色问题有一个 ...

  6. 2020年 ICPC 亚洲区域赛(上海)G-Fibonacci

    ICPC 亚洲区域赛(上海) G-Fibonacci 题目 斐波那契数列为1,1,2,3,5,8,13,21,- 可以看到,这个数列有以下特点: 奇,奇,偶,奇,奇,偶- 当 xxx 与 yyy 相乘 ...

  7. 2018年ACM-ICPC亚洲区域赛(焦作)赛后总结

    昨天刚参加完人生中的第一场ACM-ICPC亚洲区域赛焦作站,对于这次比赛两个字"自闭". 正式赛前一天早上七点起床,从西安坐高铁去郑州,然后坐城际高铁去焦作,因为热身赛马上就要开始 ...

  8. 2018 焦作站亚洲区域赛校内选拔赛题解

    SUST_2018 焦作站亚洲区域赛校内选拔赛 A.高速        by yoyo tag:图论.最短路 //最短路 #include<bits/stdc++.h> using nam ...

  9. 第一次参加亚洲区域赛(广州赛区):倒数第一

    题记:这篇文章,记录了我从学校去广州这6天所发生的事情,庆幸的是我的脸皮比想象中的厚,没有因为这次丢人而自暴自弃,而是,明白了自己到底是多么的弱,希望可以藉此激发我最大的潜能和勤勉,在接下来的大学生活 ...

最新文章

  1. CSS布局 ——从display,position, float属性谈起
  2. DHCP的基本介绍以及在HC3上配置DHCP中继和DHCP snooping
  3. 如何在Jackson中使用PropertyNamingStrategy
  4. ExtJS,JQuery,Dojo的小比较
  5. php文章远程图片,php实现异步将远程链接上内容(图片或内容)写到本地的方法
  6. 推荐一个学习内核的博客
  7. 小学计算机第一册下教案,广东省小学信息技术第一册(下)全册教案
  8. PR常用的效果和转场,视频防抖、宽银幕效果、设置默认效果
  9. python如何输入特殊符号_用Python打印列表中的特殊字符
  10. CacheCloud-资源归档
  11. POJ-1436___Horizontally Visible Segments —— 线段树
  12. Outline for Mac(Mac记事本软件)
  13. OOD: 我所理解的SOLID原则
  14. Spring当中循环依赖很少有人讲,今天一起来学习!
  15. 五:.net core(.NET 6)使用Autofac实现依赖注入
  16. maven父子关系时,发生异常: Could not find artifact org.hlx.itrip:itrip-dao:jar:1.0-SNAPSHOT - [Help 1]
  17. 三十三、C#中的接口
  18. 【小程序】爆肝 3 天总结的微信小程序优化指南(收藏夹吃灰吧!)
  19. python物性库能调用哪些物质_用于水和水蒸汽物性计算的Python模块——iapws
  20. OS 苹果手机fiddler抓包时出现了tunnel to 443 解决方案,亲测有效

热门文章

  1. 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机
  2. 【Linux】——搭建redis
  3. 锁分区提升并发,以及锁等待实例
  4. html应用中心模板,HTML5--应用网页模板
  5. glib 2.0 arm linux,为ARM编译Glib
  6. java文件绝对路径_获取文件夹文件绝对路径
  7. python顺序结构有一个入口_高楼万丈平地起,基础要打牢!Python获取类的层次结构和继承顺序...
  8. php补充 扩展,php补充安装扩展支持
  9. 微擎任意消息该公众号提供的服务器,该公众号提供的服务出现故障,请稍后再试...
  10. mysql8.0.17压缩包安装教程_超详细的MySQL8.0.17版本安装教程