博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018.3.10 模拟赛——(3)平台
阅读量:6155 次
发布时间:2019-06-21

本文共 1061 字,大约阅读时间需要 3 分钟。

题目大意:

给出一堆,任意一平板的两端必需有支柱或者它在另一块平板上,比如:

求所有支柱长度

解题思路:

First,按照高度排个序——

Then,枚举比当前平台矮的所有平台,从高到低,判断左支柱是否建立在枚举的这个平台上,如果是,则当前的平台的左支柱可建立在枚举的这个平台,则这个支柱长度为当前平台高度减去枚举平台长度——
Last,愉快输出——

源程序:

#include"algorithm"#include"cstdio"using namespace std;struct node{    int x,y,z;}a[105];int n,sum;bool cmp(node s,node w){    return s.z
=1;j--) //枚举 { if (a[j].x<=a[i].x&&a[j].y>a[i].x&&!f)、 //判断 { now=(a[i].z-a[j].z); f=1; } if (a[j].x
=a[i].y&&!flag) { now1=(a[i].z-a[j].z); flag=1; } if (f&&flag) break; else if (f) now1=a[i].z; //右支柱找不到支撑平台,直接+高度 else if (flag) now=a[i].z; //左支柱找不到支撑平台,直接+高度 else now=a[i].z,now1=a[i].z; //两个都找不到支撑平台,直接+2*高度 } if (i==1) sum+=a[i].z*2; //如果i=1,枚举直接+2*高度 else sum+=now+now1; //总和+左支柱长度+右支柱长度 } printf("%d",sum);//愉快输出 return 0;}

End——

转载于:https://www.cnblogs.com/Juruo-HJQ/p/9306928.html

你可能感兴趣的文章
老男孩教育每日一题-第107天-简述你对***的理解,常见的有哪几种?
查看>>
Python学习--time
查看>>
在OSCHINA上的第一篇博文,以后好好学习吧
查看>>
Spring常用注解
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
js中var、let、const的区别
查看>>
简洁优雅地实现夜间模式
查看>>
react学习总结
查看>>
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
Apache通过mod_php5支持PHP
查看>>