问题描述:
对于给定的矩形R1,R2...Rn,试图将它们放到一个大的矩形区域A中,任意两矩形Ri,Rj不得有重叠,求满足条件的矩形区域A的最小面积。放置过程中允许对矩形进行旋转。
命令行:
> answer2 data2.dat
输入文件格式:
data2.dat的第一行表示矩形的个数,从第二行起的每一行都有两个数字,由空格隔开,分别表示一个矩形的长和宽。示例:
3
5 2
3 2
1 1
输出结果:
打印满足条件的最小矩形区域A的面积。示例:
18
程序框架:
#include<stdio.h>
#include<malloc.h>
int main(int argc, char* argv[])
{
int num, i, area, *rec; // rec[0],rec[1]为矩形1的长和宽,以此类推。
/***************INPUT***************************/
FILE *fp = fopen(argv[1], "rt");
fscanf(fp, "%d/n",&num);
rec = (int*)malloc(sizeof(int)*2*num);
for(i=0;i<num;i++)
fscanf(fp, "%d %d/n”,rec+2*i, rec+2*i+1);
fclose(fp);
/************************************************/
/*在这里处理数据*/
/****************OUTPUT**************************/
printf("area = %d/n", area);
free(rec)
}
这个题目暂时还没有想法