国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

HDU 杭電 acm 2094-產生冠軍

2019-11-14 09:56:33
字體:
來源:轉載
供稿:網友

題目地址:http://acm.hdu.edu.cn/showPRoblem.php?pid=2094

/**************************************************************

此題要產生冠軍的意思就是,最后只有一個人從來沒輸過。

如果兩個人沒輸過,也算沒產生冠軍。

所以,我們只需要統計有幾個人輸過。

/************************************************************

代碼思路:n場比賽,那么一共輸入2*n個名字,未出現過的名字加入到二維數組name中,sum統計總人數,loser表示輸的人數

首先用數組vis把所有人記錄為勝者。一旦某個人輸了,就把對應的vis[j]賦值為0(敗者)。

/*****************************************************************

代碼如下:

/*************

#include<stdio.h>#include<string.h>char name[1001][100];//選手的名字 int main(){	char p[100];	int vis[1001];	int n,sum,loser;	int flag;	while(scanf("%d",&n),n>0)	{		for(int i=0;i<1001;i++)				vis[i]=1;    //假設所有人都是勝者 				loser=0;         //失敗者人數初始為0 		sum=0;           //參賽人數初始為0 		for(int i=0;i<n*2;i++)		{			scanf("%s",p);			flag=0;			for(int j=0;j<sum;j++)			{				if(strcmp(p,name[j])==0)				{ 					if(i%2&&vis[j]==1)//敗方 					{						loser++;						vis[j]=0;//敗了標記為0 					}					flag=1;				}			}			if(!flag)//新加入的一名比賽者			{				strcpy(name[sum],p);				if(i%2)//敗方(第偶數次輸入的)(i是從0開始的) 				{					loser++;					vis[sum]=0;				}				sum++;			}		}		if(sum-loser==1)//只有一位冠軍 		{			puts("Yes");		 } 		 else		 {		 	puts("No");		 }	}	return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华亭县| 大悟县| 阿拉善左旗| 古田县| 陆丰市| 永和县| 石棉县| 巴楚县| 高台县| 大理市| 白玉县| 荔浦县| 仁寿县| 汕头市| 海阳市| 双江| 黎平县| 泉州市| 太仆寺旗| 和静县| 二连浩特市| 盐城市| 德保县| 乐昌市| 郴州市| 义乌市| 天门市| 曲松县| 紫金县| 抚远县| 五莲县| 都昌县| 临猗县| 基隆市| 东城区| 徐州市| 洪雅县| 大竹县| 鲁山县| 昌宁县| 山阳县|