/*矩形面積交
問(wèn)題描述 平面上有兩個(gè)矩形,它們的邊平行于直角坐標(biāo)系的X軸或Y軸啃沪。對(duì)于每個(gè)矩形枪孩,我們給出它的一對(duì)相對(duì)頂點(diǎn)的坐標(biāo),請(qǐng)你編程算出兩個(gè)矩形的交的面積甚侣。
輸入格式 輸入僅包含兩行明吩,每行描述一個(gè)矩形∫蠓眩 在每行中印荔,給出矩形的一對(duì)相對(duì)頂點(diǎn)的坐標(biāo),每個(gè)點(diǎn)的坐標(biāo)都用兩個(gè)絕對(duì)值不超過(guò)10^7的實(shí)數(shù)表示详羡。
輸出格式 輸出僅包含一個(gè)實(shí)數(shù)仍律,為交的面積,保留到小數(shù)后兩位实柠。
樣例輸入
1 1 3 3
2 2 4 4
樣例輸出1.00*/
/* 注意:一定要用double存儲(chǔ)水泉,即使最后精度不是double,中間過(guò)程中也可能出現(xiàn)需要double存儲(chǔ)的數(shù)據(jù)窒盐,用float會(huì)造成精度損失草则,導(dǎo)致結(jié)果偏差,測(cè)試數(shù)據(jù)無(wú)法通過(guò)蟹漓。*/
#include<stdio.h>?
#define max(x,y) ((x)>(y)?(x):(y))?
#define min(x,y) ((x)<(y)?(x):(y))
int main(){? ? ?
double x1,y1,x2,y2;? ? //矩形1? ? ?
double x3,y3,x4,y4;? ? //矩形2? ? ?
double m1,n1;? ? ? ? //交集左上角坐標(biāo).? ? ?
double m2,n2;? ? ? ? //交集右下角坐標(biāo).? ? ?
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);?
scanf("%lf%lf%lf%lf",&x3,&y3,&x4,&y4);? ?
m1 = max(min(x1,x2),min(x3,x4));? ?
n1 = max(min(y1,y2),min(y3,y4));? ? ?
m2 = min(max(x1,x2),max(x3,x4));? ?
n2 = min(max(y1,y2),max(y3,y4));? ?
if(m2>m1 && n2>n1)? ? ? ? ?
printf("%.2f\n",(m2 - m1)*(n2 - n1));? ? ?
else? ? ? ? ?
printf("0.00\n");? ? ?
return 0;?
}?
二炕横、/*數(shù)字三角形
問(wèn)題描述 (圖3.1-1)示出了一個(gè)數(shù)字三角形葡粒。 請(qǐng)編一個(gè)程序計(jì)算從頂至底的某處的一條路 徑份殿,使該路徑所經(jīng)過(guò)的數(shù)字的總和最大姿锭。 每一步可沿左斜線向下或右斜線向下走伯铣; 1<三角形行數(shù)≤100呻此; 三角形中的數(shù)字為整數(shù)0,1腔寡,…99焚鲜;
輸入格式 文件中首先讀到的是三角形的行數(shù)》徘埃 接下來(lái)描述整個(gè)三角形
輸出格式 最大總和(整數(shù))
樣例輸入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
樣例輸出30*/
#include<stdio.h>
int main(){? ?
int n;? ?
scanf("%d",&n);? ?
int m[n][n];? ?
for(int i=0;i<n;i++){? ? ? ? ? ?
for(int j=0;j<=i;j++){? ? ? ? ? ? ?
scanf("%d",&m[i][j]);? ? ? ?
}? ? ?
}? ? ?
for(int i=n-1;i>0;i--) {? ? ? ?
for(int j=0;j<i;j++){? ? ? ? ?
if(m[i][j]>m[i][j+1]){? ? ? ? ? ? ?
? m[i-1][j] += m[i][j];? ? ? ? ? ?
}
else{? ? ? ? ? ? ? ?
m[i-1][j] += m[i][j+1];? ? ? ? ? ?
}? ? ?
}
? ? }? ?
printf("%d",m[0][0]);? ?
return 0;
}