//首先这是C语言打的,如果有错的地方可以交流交流

Problem Description
有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。
球赛的规则如下:
如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。
如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。
根据这个规则,无需循环较量,或许就能确定冠军。你的任务就是面对一群比赛选手,在经过了若干场撕杀之后,确定是否已经实际上产生了冠军。

Input
输入含有一些选手群,每群选手都以一个整数n(n<1000)开头,后跟n对选手的比赛结果,比赛结果以一对选手名字(中间隔一空格)表示,前者战胜后者。如果n为0,则表示输入结束。

Output
对于每个选手群,若你判断出产生了冠军,则在一行中输出“Yes”,否则在一行中输出“No”。

Sample Input
3
Alice Bob
Smith John
Alice Smith
5
a c
c d
d e
b e
a d
0

Sample Output
Yes
No

解析
可以先定义两个字符串数组a,b。然后判断b数组中是否出现a;就相当于a,b两个集合;只有a中只有一个人没有出先在b中时是就赢。

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#define N 1005
char a[N][100],b[N][100];
int c[N],d[N];
int main()
{int n;while(~scanf("%d",&n)&&n!=0){memset(c,0,sizeof(c));int i,j,flag=1,k=0;for(i=0;i<n;i++){scanf("%s",a[i]);getchar();scanf("%s",b[i]);c[i]=1;//假设每次都有一组赢,表示为c数组中为1}for(i=0;i<n;i++)//两个游标遍历a和bfor(j=0;j<n;j++)if(strcmp(a[i],b[j])==0) c[i]=0;//如果b中出现a,//则这组C为0,表示输for(i=0;i<n;i++)if(c[i]==1) d[k++]=i;//用d来存为1的情况;for(i=1;i<k;i++)//如果d存的下标在a中都相等,//就表示只有一个人赢,且为同一人;if(strcmp(a[d[i]],a[d[i-1]])==0) flag++;if(flag==k)printf("Yes\n");elseprintf("No\n");}return 0;
}

hdu2094 c语言相关推荐

  1. HDU2094 产生冠军【set】

    产生冠军 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  3. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  4. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

  5. OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)

    首先是下面代码中将要使用的 r 矩阵的定义.需要注意,我们可以通过用 randu 函数产生的随机值来填充矩阵, 需要给定一个上限和下限来确保随机值在期望的范围内. Mat r = Mat(2, 3, ...

  6. 利用牛顿法求平方根-Go语言实现

    牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...

  7. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

  8. 字符串全排列的问题 python和c语言实现

    前言 这是一个的经典的问题 设计一个算法,输出一个字符串字符的全排列. 比如,String = "abc" 输出是"abc","bac",& ...

  9. 快速排序的递归和非递归实现 c语言版本

    代码 挖坑法 解释 选取一个关键字(key)作为枢轴,一般取整组记录的第一个数/最后一个,这里采用选取序列第一个数为枢轴,也是初始的坑位. 设置两个变量i = l;j = r;其中l = 0, r = ...

最新文章

  1. 快速求斯特林数总结(洛谷模板题解)
  2. jQ进阶篇--jQuery封装placeholder效果,让低版本浏览器支持该效果
  3. linux 挂载光盘映像,在 Windows Mac和Linux上,如何挂载iso和其他光盘映像
  4. Spring定时任务的配置
  5. 运行iDT算法代码及后续特征编码
  6. MSSQL数据库全库批量替换
  7. 集合视图控制器(CollectionViewController) 、 标签控制器(TabBarController) 、 高级控件介绍...
  8. python做界面小软件_PySimpleGUI图形界面绘制及办公自动化小软件的制作
  9. Ubuntu中添加应用程序快速启动器的方法
  10. 微信小程序引入阿里矢量图标
  11. 圆形led屏幕_一种简单的圆形LED显示屏的制作方法
  12. Tera Term和TTL(Tera Term Language)
  13. 边界值分析法用例设计
  14. 雀魂启动!(暴力回溯)
  15. 机器学习实战——3.1 决策树的构造
  16. 郭天祥写的《我的大学》
  17. 相机标定(2): 单目相机标定总结
  18. 计算机软考 零基础,零基础计算机软考攻略
  19. 使用IOT-FAST快速采集三菱PLC数据
  20. 怎样修改论文格式-人工智能实现快速修改

热门文章

  1. 数据库:数据类型、数据项、数据元素、数据对象、数据结构的概念与相互之间的关系
  2. 一文带你快速入门【哈希表】
  3. 【mmWave】zoomFFT
  4. JVM参数详细配置说明
  5. 基于人工兔优化算法的函数寻优和工程优化
  6. Appollo高精度地图
  7. 超级实用——用word与谷歌翻译将英文PDF文档翻译成中文,免费无限制
  8. 艾永亮:英语教育往事:一部商业的进化史
  9. 做游戏与web的区别 - 服务器篇【1】
  10. Mac (M1) 官网安装 Tomcat,XAMPP,MySQL