C语言1094题目,P1094 (C语言代码)
解题思路:
砍成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语言代码)相关推荐
- C语言1094题目,基于visual Studio2013解决C语言竞赛题之1094纵横图
/************************************************************************/ /* 二)程序设计 ⑴奇阶纵横图n=2m+1请见填 ...
- 上海大学c语言基础题目,求c语言大神学长学姐解答题目
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [问题描述]验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如,6=3+3,8=3+5,-,18=5+13。要求将6~100之间的偶数都表 ...
- PTA 浙大版《C语言程序设计实验与习题指导(第3版)》题目集(参考代码)
已完结 本题目集是博主初学C语言时写的,若有错误,欢迎指正. 注:其中有些题的代码参考了其他人. 另一套题目集:PTA浙大版<C语言程序设计(第3版)>题目集(参考代码) 其他题目集: P ...
- AI Studio下C语言编程:一道简单的C语言作业题目
简 介: 本文测试了在 AI Studio中进行C语言编程的过程.使用与 搭建AI Studio 中Python开发环境 同样的 "AIS" python文件,可以在Windows ...
- c语言编程 输入螺旋数组,C语言 经典题目螺旋矩阵 实例详解
C语言 经典题目螺旋矩阵 实例详解 C语言 经典题目螺旋矩阵 //N阶螺旋矩阵 #include #include int main() { int N,i,j,n,num=1; int a[10][ ...
- 运动会分数统计——C语言数据结构题目
C语言数据结构题目 1.问题描述 参加运动会有n个学校,学校编号为1--n.比赛分成m个男子项目,和w个女子项目.项目编号为男子1--m,女子m+1--m+w.不同的项目取前五名或前三名积分:取前五名 ...
- c语言经典笔试100题,100条经典C语言笔试题目(全).doc
100条经典C语言笔试题目(全) 100条经典C语言笔试题目 请填写bool,float,指针变量与"零值"比较的if语句. 提示:这里"零值"可以是0,0.0 ...
- c语言采用解释方式6,C语言程序设计题目及解答-01.doc
C语言程序设计题目及解答-01.doc 一.判断题20分1. 计算机是信息处理的工具,任何信息必须被转换成二进制形式数据后才能由计算机进行处理.存储和传输.2分 2. C语言采用解释方式将源程序转换为 ...
- c语言字节的高地位互换,c语言面试题目100及最佳答案(51页)-原创力文档
c语言面试题目100及最佳答案 作为IT行业人士需要掌握的最基本的计算机语言-c语言,如今的地位只高不低,c语言掌握程度的高低往往在面试的时候可以完全表现出来,而有些问题是大家平时似乎是知道的,但却不 ...
最新文章
- Siri不行了?微软小冰或许是未来的方向
- 爬虫基础(二)之http协议复习
- php扩展-ioncube组件的安装方法_Windows系统PHPStudy Web环境安装ionCube扩展软件
- python3 readline,Python3:readlines 或者 enumerate 是否会导致文件流为空
- DP专辑之最长公共子序列及其变形
- 在安卓模拟器中,adb安装apk常见错误
- 关于码云的一些基本知识_一些关于 CPU 的基本知识
- go grpc压缩_跟我学 gRPC—1. gRPC 及相关介绍
- Web Service(二):cxf 实现
- word 2007为不同页插入不同页眉页脚
- 计算机的各种配件知识,菜鸟必读:DIY装机需要知道的一些配件小知识
- LINUX安装中文字体SimHei
- MapServer教程
- linux趋势杀毒安装目录,Linux 杀毒软件ClamAV安装部署
- 二极管和极性电容的正负测量
- 七段数码管显示原理研究
- 灵媒阅读开始自学通灵
- Linux进阶 | 万字详解Docker镜像的制作,手把手学会!
- U3d引擎与资源管理
- 论文阅读:Cyber-security research