您的位置:首页 > 理论基础

“英特尔杯”全国计算机多核程序设计大赛复赛试题--第二题

2007-06-04 23:00 525 查看
问题描述:

对于给定的矩形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)

}

这个题目暂时还没有想法

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐