?? 1311.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 + -