解题思路:

砍成1X1的单位方块,需要n*m-1刀。

如果说,横、纵方向的每一刀的代价都一样的话。那很简单,n方向最少砍n-1刀,同理m方向最少要砍m-1刀,(自己画图看看)。那么剩余的那几刀分给代价最少的去砍,

min=(n-1)*n的代价+(m-1)*m的代价+(n*m-n-m+2)*两者最小的代价

当然,题目没有那么简单,它每一刀的代价可能都不同

我的思路是这样子的:

1.一刀两断,x方向砍了第一刀,如果y方向要砍,那么y要砍两刀,代价*2。当然同x方向不用

2.既然是这样,那么代价高的就要少砍一些

3.完毕!

注意事项:

注意看题目,我相信很多人和我一样,以为只有4个输入。认真审题!每一刀它都可能会给你一个不一样的代价,输入案例真的有点坑人 2 2 3 3....

参考代码:#include

//用的是c,随便排一下序...

void sort(int a[],int len){

for(int i=0;i

int k=i;

for(int j=i+1;j

if(a[k]

k=j;

}

}

if(k!=i){

a[i]=a[i]^a[k];

a[k]=a[i]^a[k];

a[i]=a[i]^a[k];

}

}

}

int main()

{

int n,m;

scanf("%d%d",&n,&m);

if(n==1&&m==1){

printf("0");

return 0;

}

int a[2000],b[2000];

for(int i=0;i

scanf("%d",&a[i]);

}

for(int i=0;i

scanf("%d",&b[i]);

}

//对两个方向的代价排一下序

sort(a,n-1);

sort(b,m-1);

int i=0,j=0;      //用于记录a,b数组的下标

int comt=0;      //总代价

int x=1,y=1;    //两个方向砍出来的木板数量

while(i

if(a[i]>b[j]){    //谁大谁先砍

comt+=a[i]*y; //这里是乘以对面方向的块数

i++;

x++;          //砍完一刀当然是数量增加啦

}else{

comt+=b[j]*x;

j++;

y++;

}

}

if(i==n-1){            //处理一下上面的尾款...

for(;j

comt+=b[j]*x;

y++;

}

}else{

for(;i

comt+=a[i]*y;

x++;

}

}

printf("%d",comt);

}

C语言1094题目,P1094 (C语言代码)相关推荐

  1. C语言1094题目,基于visual Studio2013解决C语言竞赛题之1094纵横图

    /************************************************************************/ /* 二)程序设计 ⑴奇阶纵横图n=2m+1请见填 ...

  2. 上海大学c语言基础题目,求c语言大神学长学姐解答题目

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [问题描述]验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如,6=3+3,8=3+5,-,18=5+13。要求将6~100之间的偶数都表 ...

  3. PTA 浙大版《C语言程序设计实验与习题指导(第3版)》题目集(参考代码)

    已完结 本题目集是博主初学C语言时写的,若有错误,欢迎指正. 注:其中有些题的代码参考了其他人. 另一套题目集:PTA浙大版<C语言程序设计(第3版)>题目集(参考代码) 其他题目集: P ...

  4. AI Studio下C语言编程:一道简单的C语言作业题目

    简 介: 本文测试了在 AI Studio中进行C语言编程的过程.使用与 搭建AI Studio 中Python开发环境 同样的 "AIS" python文件,可以在Windows ...

  5. c语言编程 输入螺旋数组,C语言 经典题目螺旋矩阵 实例详解

    C语言 经典题目螺旋矩阵 实例详解 C语言 经典题目螺旋矩阵 //N阶螺旋矩阵 #include #include int main() { int N,i,j,n,num=1; int a[10][ ...

  6. 运动会分数统计——C语言数据结构题目

    C语言数据结构题目 1.问题描述 参加运动会有n个学校,学校编号为1--n.比赛分成m个男子项目,和w个女子项目.项目编号为男子1--m,女子m+1--m+w.不同的项目取前五名或前三名积分:取前五名 ...

  7. c语言经典笔试100题,100条经典C语言笔试题目(全).doc

    100条经典C语言笔试题目(全) 100条经典C语言笔试题目 请填写bool,float,指针变量与"零值"比较的if语句. 提示:这里"零值"可以是0,0.0 ...

  8. c语言采用解释方式6,C语言程序设计题目及解答-01.doc

    C语言程序设计题目及解答-01.doc 一.判断题20分1. 计算机是信息处理的工具,任何信息必须被转换成二进制形式数据后才能由计算机进行处理.存储和传输.2分 2. C语言采用解释方式将源程序转换为 ...

  9. c语言字节的高地位互换,c语言面试题目100及最佳答案(51页)-原创力文档

    c语言面试题目100及最佳答案 作为IT行业人士需要掌握的最基本的计算机语言-c语言,如今的地位只高不低,c语言掌握程度的高低往往在面试的时候可以完全表现出来,而有些问题是大家平时似乎是知道的,但却不 ...

最新文章

  1. Siri不行了?微软小冰或许是未来的方向
  2. 爬虫基础(二)之http协议复习
  3. php扩展-ioncube组件的安装方法_Windows系统PHPStudy Web环境安装ionCube扩展软件
  4. python3 readline,Python3:readlines 或者 enumerate 是否会导致文件流为空
  5. DP专辑之最长公共子序列及其变形
  6. 在安卓模拟器中,adb安装apk常见错误
  7. 关于码云的一些基本知识_一些关于 CPU 的基本知识
  8. go grpc压缩_跟我学 gRPC—1. gRPC 及相关介绍
  9. Web Service(二):cxf 实现
  10. word 2007为不同页插入不同页眉页脚
  11. 计算机的各种配件知识,菜鸟必读:DIY装机需要知道的一些配件小知识
  12. LINUX安装中文字体SimHei
  13. MapServer教程
  14. linux趋势杀毒安装目录,Linux 杀毒软件ClamAV安装部署
  15. 二极管和极性电容的正负测量
  16. 七段数码管显示原理研究
  17. 灵媒阅读开始自学通灵
  18. Linux进阶 | 万字详解Docker镜像的制作,手把手学会!
  19. U3d引擎与资源管理
  20. 论文阅读:Cyber-security research

热门文章

  1. 工作38:实现分页秀呀
  2. “约见”面试官系列之常见面试题之第五十七篇之强制类型转换(建议收藏)
  3. 前端学习(1811):前端调试之css装饰cursor练习
  4. 前端学习(999):类操作和classname区别
  5. 前端学习(482):html之b/s和c/s
  6. spring学习(41):属性注入
  7. 7天后自动更新cookie
  8. Python-100例(5-6) 排序斐波那契数列
  9. python词云_python词云
  10. (转)深入理解Java中的final关键字