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

问题描述:

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

}

这个题目暂时还没有想法

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值