把不等式A<B看成一条从A到B的边
那么所有不等式就可以组合成一张有向无环图
然后只需对每个点bfs,从bfs的第二层开始记录即可

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
int vis[27];
map<int, vector<int>> ans;
map<int, vector<int>> mp;
set<int> from;
void bfs(int sorce) {memset(vis, 0, sizeof(vis));vis[sorce] = 1;queue<int> q;q.push(sorce);int cur, t, sz, i, j, len;t = 0;while (!q.empty()) {sz = q.size();t++;for (i = 0; i < sz; i++) {cur = q.front();q.pop();if (t > 2)ans[sorce].push_back(cur);vector<int> to = mp[cur];len = to.size();for (j = 0; j < len; j++) {if (!vis[to[j]]) {vis[to[j]] = 1;q.push(to[j]);}}}}
}int main() {int T, m, i, coun, len;char ch[10];scanf("%d", &T);coun = 0;while (T--) {scanf("%d", &m);mp.clear();ans.clear();for (i = 1; i <= m; i++) {scanf("%s", ch);if (ch[1] == '<') {mp[ch[0] - 'A'].push_back(ch[2] - 'A');from.insert(ch[0] - 'A');} else {mp[ch[2] - 'A'].push_back(ch[0] - 'A');from.insert(ch[2] - 'A');}}map<int, vector<int>>::iterator it;for (it = mp.begin(); it != mp.end(); it++) {bfs(it->first);}printf("Case %d:\n", ++coun);if (!ans.size())printf("NONE\n");else {set<int>::iterator it;for (it = from.begin(); it != from.end(); it++) {vector<int> v = ans[*it];sort(v.begin(), v.end());len = v.size();for (i = 0; i < len; i++) {printf("%c<%c\n", 'A' + *it, 'A' + v[i]);}}}}
}

zoj 1589 Professor John相关推荐

  1. 《设计模式》作者John Vlissides-UMLChina访谈录

    透明,think,Qingrun 整理 2001年9月20日,面向对象技术专家.IBM研究中心研究员.软件开发的里程碑著作<设计模式>的作者John Vlissides在UMLCHINA( ...

  2. 机器学习关键的几门课程_互联网上每门机器学习课程,均按您的评论排名

    机器学习关键的几门课程 by David Venturi 大卫·文图里(David Venturi) 互联网上每门机器学习课程,均按您的评论排名 (Every single Machine Learn ...

  3. 英国将迎来史上第二位女首相

    Theresa May and Andrea Leadsom will battle it out to become the next leader of the Conservative Part ...

  4. signature=00e71e60a412c9a393d6d1740e539e14,2006年江苏专转本(英语)真题试卷

    一.1. 1.Vegetable gardening is the relaxing art and science of turning a love for growing plants into ...

  5. 关于人工智能的定义,这篇文章定义比较全面了

    在昨天人工神经网络课程之后,有一位同学课下问了一个问题,她这学期也在学习"机器学习"课程,感觉"人工神经网络"课程的内容与机器学习课程的内容大同小异.究竟这些课 ...

  6. 投入OJ的怀抱~~~~~~~~~~

    OpenJudge C20182024 信箱(1) 账号 修改设定 退出小组 管理员 frank 林舒 Dzx someone 李文新 公告 11-05 程序设计与算法(大学先修课) 成员(61910 ...

  7. 疾病研究:LEMS和先天性肌无力患者指南

                               A  Medical Guide for Patients with LEMS or Congenital Myasthenia LEMS和先天性 ...

  8. 疾病研究:重症肌无力医师指南

    Medical Information For Medical Professionals 重症肌无力医师指南   The Myasthenia Gravis Association does its ...

  9. 给国外教授发邮件_如何给您的教授发送电子邮件并获得快速回复

    给国外教授发邮件 Photo by uniinnsbruck 图片来自uniinnsbruck Professors are some of busiest people around. They h ...

最新文章

  1. Linux基金会网络策略副总裁Marc Cohn:OPEN-O遍及网络,尽享服务
  2. Emacs 使用graphviz-dot-mode创建架构图
  3. web网站服务(二)
  4. 查看Linux硬件信息命令的使用
  5. 3-3 面向对象 本章总结
  6. Elasticsearch-01CentOS7单节点部署ES5.6.16
  7. [BUUCTF-pwn]——[BJDCTF 2nd]test
  8. 下一代微服务架构基础:ServiceMesh?
  9. kindeditor简单使用
  10. Jartto: 如何成为一名合格的技术面试官?
  11. [Vue.js] 路由 -- 基于vue-router的案例--后台管理
  12. 学习结构[记录]类型(7) - 结构也可以有构造函数
  13. 万字长文带你解析23 个问题 TCP 疑难杂症!
  14. 黑苹果cpu架构???_自研桌面CPU,苹果对英特尔发“分手信”
  15. 【COCOS2DX-LUA 脚本开发之十二】利用AssetsManager实现在线更新资源文件
  16. SSH(六)hibernate持久层模板于事务管理
  17. JavaScript怎么安装_WebStrom 2019安装教程
  18. 科来数据包生成器使用,广播域内进行arp欺骗
  19. iPhone4S 未能激活蜂窝移动数据网
  20. matlab海洋数值模拟,海洋数值模拟课程教学大纲.PDF

热门文章

  1. 关于qq无法使用麦克风但其他程序正常的问题
  2. 理财笔记 - 生日前的幻想
  3. redirect使用
  4. vant日历组件van-calendar默认时间的坑
  5. iOS史上最大漏洞出现 运营商罕见发公告提醒升级
  6. layui字体样式设置_layui的弹出框msg修改字体按钮样式
  7. 软件衰减的最重要因素
  8. 如何让自己内心变的强大
  9. 导向矢量矩阵(steering vector matrix)
  10. vim选中多行复制粘贴