1088.c

来自「平时acm训练时ac的源代码」· C语言 代码 · 共 63 行

C
63
字号
#include <stdio.h>

typedef struct
{
	long level;
	long value;
}position;

long ma,mu,f,h,mur,mag,ct,i,k,cr,cg,min;
position mm,mc,met[33],cst[33];

long prev(long i)
{
	long p;
	p=((i-1)/2)+1;
	return p;
}

main()
{
	scanf("%ld %ld %ld %ld %ld %ld",ma,mu,f,mag,mur,h);
	ct=0;
	mm.level=mu;
	for(i=1;i<=mu;i++)
		mur=prev(mur);
	mm.value=mur;
	mc.level=ma;
	for(i=1;i<=ma;i++)
		mag=prev(mag);
	mc.value=mag;
	cr=1;
	met[1].level=mm.level;
	met[1].value=mm.value;
	cg=1;
	cst[1].level=mc.level;
	cst[1].value=mc.value;
	while(mm.level!=f)
	{
		cr++;
		mm.level++;
		mm.value=prev(mm.value);
		met[cr].level=mm.level;
		met[cr].value=mm.value;
	}
	while(mc.level!=f)
	{
		cg++;
		mc.level++;
		mc.value=prev(mc.value);
		cst[cg].level=mc.level;
		cst[cg].value=mc.value;
	}
	min=1000000000;
	for(i=1;i<=cr;i++)
		for(k=1;k<=cg;k++)
			if((met[i].level==cst[k].level)&&(met[i].value==cst[k].value))
				if(i+k-2<min)
					min=i+k-2;
	if(min<=h)
		printf("YES");
	else printf("NO");
	getch();
}

⌨️ 快捷键说明

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