⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1006.cpp

📁 ACM1000_1010竞赛的赛题,源码
💻 CPP
字号:
//1212 2003-06-07 15:34:48 Wrong Answer 1006 C++ 00:00:03 380K just for play 
//1263 2003-06-07 15:43:15 Wrong Answer 1006 C++ 00:00:02 380K just for play 
#include<stdio.h>
#include<string.h>

int main()
{
	int n,m;
	while(scanf("%d %d",&n,&m)!=EOF)
	{
		int father[16];
		memset(father,0xff,sizeof(father));
		int i,t;
		for(i=0;i<m;i++)
		{
			int min,max;
			scanf("%d %d",&min,&max);
			if(min>max){t=min;min=max;max=t;}
			int mint=min,maxt=max;			
			while(mint!=-1)
			{
				maxt=max;				
				while(maxt!=-1&&maxt!=mint)				
					maxt=father[maxt];				
				if(maxt==mint)
				{
					father[max]=min;
					if(mint!=min)	father[min]=mint;
					break;
				}				
				mint=father[mint];
				
			}
			if(mint==-1)
			{
				father[max]=min;
				father[min]=-1;
			}
		}

//		for(i=1;i<=n;i++)
//			printf("%d  --  %d\n",i,father[i]);
		for(i=2;i<=n;i++)
			if(father[i]!=i-1)	break;
		if(i<=n)	printf("NO\n");
		else	printf("YES\n");
	}
	return 0;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -