hdu 2094 产生冠军
来源:互联网 发布:jsonobject转java对象 编辑:程序博客网 时间:2024/05/18 01:01
本题链接:点击打开链接
本题大意:
有n名队员,已知每名队员打比赛的输赢,问,能否据此确定冠军。
解题思路:
就是将所有比赛中失败过的做标记,据题知:失败过的就不可能再成为冠军,所以就看最后未标记的有几个,若只有一个,则说明其就是所认定的冠军,否则就确定不了冠军。主要是字符串难处理,具体请参见代码:
#include<stdio.h>#include<string.h>char str[1010][100];char win[100],lose[100];int mark[1010];int main(){int n,i,sum;while(scanf("%d",&n),n){i=0;memset(mark,0,sizeof(mark)); while(n--){int flagw=0,flagl=0;//flagw 标记出现过的赢者,flagl标记出现过的输者 scanf("%s%s",win,lose);if(i==0){strcpy(str[i++],win);strcpy(str[i++],lose);mark[i-1]=1;//mark loser;}else{for(int j=0;j<i;j++){if(strcmp(str[j],win)==0)flagw=1;//标记已登记过的winerif(strcmp(str[j],lose)==0){mark[j]=1;//标记输者 flagl=1;//标记已登记过的loser }}if(!flagw)strcpy(str[i++],win);if(!flagl){strcpy(str[i++],lose);mark[i-1]=1;}}}sum=0;for(int j=0;j<i;j++){if(mark[j]==0)//查找未被标记过的 sum++;}if(sum!=1)//若有多个未被标记,则无法确定冠军 printf("No\n");elseprintf("Yes\n");}return 0;}
0 0
- hdu 2094 产生冠军
- hdu 2094 产生冠军
- hdu 2094 产生冠军
- HDU 2094 产生冠军
- HDU-2094产生冠军
- HDU 2094 产生冠军
- HDU 2094 产生冠军
- hdu 2094 产生冠军
- HDU 2094:产生冠军
- HDU 2094 产生冠军
- hdu-2094-产生冠军
- hdu-2094 产生冠军
- HDU 2094 产生冠军
- HDU 2094 产生冠军
- hdu 2094 产生冠军
- HDU 2094 产生冠军
- hdu 2094 产生冠军
- HDU 2094 产生冠军
- 将linux启动信息输出到文件
- 基于protobuf的RPC实现
- 宏定义
- linux基础教程---- vi编辑器
- Filter(过滤器)学习
- hdu 2094 产生冠军
- 安卓中利用TranslateAnimation实现图片循环移动时候的出现的一个问题,在这里记一下
- Linux内核线程
- 利用filter 过滤掉html标签
- hdu5382 GCD?LCM! 推公式+埃式筛法
- Java 获取windows磁盘卷标和名称
- 【Android】四大组件(2)BroadcastReceiver详解
- [.Net码农]NPOI读写Excel
- UVa 12283 Halloween Costumes 区间dp