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

📄 1311.cpp

📁 这是堆砖块的问题
💻 CPP
字号:
#include <stdio.h>
void main()
{int *up,*down,*first,*tran,*wf,*wu,*wd,*tranw,*u,*d,*fi,*tr;
int i,j,k,h,a[1001]={0},b[1001]={0},c[1001]={0},n=0,m=0,o=0,result=1,p;
int ma[1001]={0},mb[1001]={0},mc[1001]={0};
float ta[1001]={0},tb[1001]={0},tc[1001]={0},*tf,*tu,*td,*trant;
float abc=2;
up=c;down=a;first=b;
u=&o;d=&n;fi=&m;
wu=mc;wd=ma;wf=mb;
tu=tc;td=ta;tf=tb;
scanf("%d",&h);
if(h==0) printf("Yes");
else {
scanf("%d",d);
for(i=1,j=1;i<=*d*2;i++)
{
	scanf("%d",&down[i]);
	if(i%2==0) {wd[j]=down[i]-down[i-1];j++;}
	for(k=1;k<=*d;k++) td[k]=(down[2*k-1]+down[2*k])/abc;
}

for(p=1;p<h;p++)
{
	scanf("%d",fi);
	if (*fi==0) {result=0;break;}
	for(i=1,j=1;i<=*fi*2;i++)
	{
		scanf("%d",&first[i]);
		if(i%2==0) {wf[j]=first[i]-first[i-1];j++;}
	}
	tran=up;up=down;down=first;first=tran;
	tr=u;u=d;d=fi;fi=tr;
	tranw=wu;wu=wd;wd=wf;wf=tranw;
	trant=tu;tu=td;td=tf;tf=trant;

	for(i=1;i<=*u;i++)	
	{
		tu[i]=(up[2*i-1]+up[2*i])/abc;
		for(k=1;k<=*fi;k++)
		{
			if (tf[k]>=up[2*i-1]&&tf[k]<=up[2*i]) 
			{
				tu[i]=(wf[k]*tf[k]+wu[i]*tu[i])/(wu[i]+wf[k]);
				wu[i]+=wf[k];
			}
		}
		for(j=1;j<=*d*2;j++)
		{
			if(tu[i]<=down[j]&&j%2!=0) {result=0;break;}
			else if(tu[i]<=down[j]&&j%2==0) break;
			else if(tu[i]==down[j]) break;
			if(tu[i]>=down[*d*2]) {result=0;break;}
		}
		if(result==0)break;
	}
	if(result==0)break;
}
if(result==0)printf("No");
else printf("Yes");
}
}

⌨️ 快捷键说明

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