珍珠

2024-05-30 20:08
文章标签 珍珠

本文主要是介绍珍珠,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Problem Description

有n颗形状和大小都一致的珍珠,它们的重量都不相同。n为整数,所有的珍珠从1到n编号。你的任务是发现哪颗珍珠的重量刚好处于正中间。即在所有珍珠的重量重,该珍珠的重量列(n+1)/2位。下面给出将一对珍珠进行比较的办法:
给你一架天平用来比较珍珠的重量,我们可以比出两个珍珠哪个更重一些,在作出一系列的比较后,我们可以将某些肯定不具备中间重量的珍珠拿走。
例如:下列给出对5颗珍珠进行四次比较的情况:
(1)珍珠2比珍珠1重
(2)珍珠4比珍珠3重
(3)珍珠5比珍珠1重
(4)珍珠4比珍珠2重
根据以上结果,虽然我们不能精确地找出哪个珍珠具有中间重量,但是我们可以肯定珍珠1和珍珠4不可能具有中间重量,因为珍珠2、4、5比珍珠1重,而珍珠1、2、3比珍珠4轻,所以我们可以移走这两颗珍珠。
写一个程序统计出共有多少颗珍珠肯定不会有中间重量。

Input

输入有多组数据,每组数据的第1行包含两个用空格隔开的整数N(1<=N<=99)和M,且N为奇数,M表示对珍珠进行的比较次数,接下来的M行每行包含两个用空格隔开的整数x和y,表示珍珠x比珍珠y重。

Output

Sample Input

5 4
2 1
4 3
5 1
4 2

Sample Output

2
//解题报告:N条边组成有向图,只要该点比其它重的点的数目>=(N+1)/2, 或者小的点的数目>=(N+1)/2,
                 则该点就是所求点。(用DFS或BFS都会超时,就用for循环遍历)
//标程:
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int big_num[110][110], small_num[110][110];
int big_cnt[110], small_cnt[110];
int main()
{
//	freopen("a.txt","r",stdin);int n, m, i, j, k;
	while(cin >> n >> m)
	{
		int first_pearl, second_pearl;
		memset(big_num, 0, sizeof(big_num));
		memset(small_num, 0, sizeof(small_num));
		memset(big_cnt, 0, sizeof(big_cnt));
		memset(small_cnt, 0, sizeof(small_cnt));
		for(i = 0; i < m; i ++)
		{cin >> first_pearl >> second_pearl;
			 big_num[first_pearl][second_pearl] = 1;
			 small_num[second_pearl][first_pearl] = 1;
		}for(i = 1; i <= n; i ++)
			for(j = 1; j <= n; j ++)
				for(k = 1; k <= n; k ++)
				{
					if(big_num[i][j] && big_num[j][k] && i != k)  
					{
						big_num[i][k] = 1;
						small_num[k][i] = 1;
					}
					if(small_num[i][j] && small_num[j][k] && i != k) 
					{
						small_num[i][k] = 1;
						big_num[k][i] = 1;
					}
				}
		for(i = 1; i <= n; i ++)
			for(j = 1; j <= n; j ++)
			{	
				if(big_num[i][j] == 1) big_cnt[i]++;
				if(small_num[i][j] == 1) small_cnt[i]++;
			}
		int cnt = 0;
		for(i = 1; i <= n; i ++)
			if(big_cnt[i] >= (n+1)/2 || small_cnt[i] >= (n+1)/2)
				cnt ++;
		cout << cnt << endl;
	}
	return 0;
}

这篇关于珍珠的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1016804

相关文章

引领未来建筑潮流:轻空间设计团队打造“淄博珍珠”

作为国内单体最大的气膜会展场馆,“淄博珍珠”自四年前启用以来,已成为淄博市的重要地标和经济引擎。该场馆首次亮相于第二十届中国(淄博)国际陶瓷博览会,凭借其独特的设计和先进的建筑理念,吸引了社会各界的广泛关注。今天,我们轻空间设计团队很荣幸地向大家介绍这个项目的设计理念和成就。 项目概况 “淄博珍珠”坐落于淄博新区中轴线,总用地面积12.64公顷,建筑面积34234平方米。场馆采用先进的

搜狐[编程题]彩色宝石项链.有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等

时间限制:1秒 空间限制:32768K 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项

qduoj 帅气的HYC的珍珠(前缀和+思维)

帅气的HYC经常早晨去锻炼(多么好的习惯~。有一天,他看到一路上的露珠,心里便产生了一个问题:一路上假如有N棵草,每颗草上可能会有露珠,或者没有露珠。连续的露珠会和为一体(>=2),并变为珍珠。 比如第1棵草上有露珠,第2棵草也有露珠。那么就会形成一个珍珠。第1棵草上有露珠,第2棵草有露珠,第3棵也有露珠,那么也会形成一个珍珠。相反,如果第1颗草有露珠,第2棵草没有露珠,就不会形成珍珠。 现在

神的公主们,节日快乐!才德的妇人是丈夫的冠冕,她的价值远胜珍珠

3.8 一个重要的节日 亲爱的女士们 节日快乐!   想要在这一天, 第一时间送给你一个 超级温暖的大礼包!!!   愿你 温良、贤惠、有人疼爱 可能你觉得太老土了   内心强大、独立自我 Hold住全场 才是时下的王道 对吧   可是流行的声音一直在变 所以我们查询了不变的圣经 那里记录了上帝眼里的你   《 你很美 》 点击观看? 《 对话镜中人 》 点击观看?

爱琴海的珍珠 (Penelope)

爱琴海的珍珠 (Penelope) 一连下了几天的雨,暗了许久的天,今天终於放晴了。我似乎又沐浴在阳光中了。 偶然间,听到了这首音乐“爱琴海的珍珠”,这是一首我在大学时代最喜欢的曲子之一,只是记得哪会儿,这首曲子并不叫这个名字,她叫做“帕涅罗帕和橄榄项链”,也是一个很希腊的名字。 Aegean Coast,被翻译成中文,叫做了“爱琴海”。多么浪漫的名字呀。我把这里也加入我的 wish list

香港国际珠宝展及香港国际钻石、宝石及珍珠展揭幕

疫情下的首项实体贸易展 首度向公众开放入场 香港 --(美国商业资讯)--由香港贸易发展局(香港贸发局)主办的香港国际珠宝展,以及香港国际钻石、宝石及珍珠展,一连5天(7月25至29日)于香港会议展览中心隆重举行,网上展展期则由今天起至8月5日,全方位协助珠宝商捕捉疫情下的商机。两项展会是贸发局自疫情以来复办的首项实体贸易展览。 本届两项展会以实体及网上混合模式举行,共吸引近440家展商参与,

qduoj 帅气的HYC的珍珠 (树状数组)

题目链接:https://qduoj.com/problem/37/点击打开链接 帅气的HYC的珍珠 发布时间: 2015年11月1日 17:02   最后更新: 2015年11月2日 19:52   时间限制: 1000ms   内存限制: 128M 描述                                                帅气的HYC经常早晨