POJ 2014:Flow Layout 模拟水题
Time Limit: 1000MS | Memory Limit: 30000K | |
Total Submissions: 3091 | Accepted: 2148 |
Description
continues from left to right again. Given a set of rectangular dimensions and a maximum window width, you are to write a program that computes the dimensions of the final window after all the rectangles have been placed in it.
For example, given a window that can be at most 35 units wide, and three rectangles with dimensions 10 x 5, 20 x 12, and 8 x 13, the flow layout manager would create a window that looked like the figures below after each rectangle was added.

The final dimensions of the resulting window are 30 x 25, since the width of the first row is 10+20 = 30 and the combined height of the first and second rows is 12+13 = 25.
Input
and at most 15 lines, each containing the dimensions of one rectangle, width first, then height. The end of the list of rectangles is signaled by the pair -1 -1, which is not counted as the dimensions of an actual rectangle. Each rectangle is between 1 and
80 units wide (inclusive) and between 1 and 100 units high (inclusive).
Output
Sample Input
35
10 5
20 12
8 13
-1 -1
25
10 5
20 13
3 12
-1 -1
15
5 17
5 17
5 17
7 9
7 20
2 10
-1 -1
0
Sample Output
30 x 25
23 x 18
15 x 47
给了一个固定长度的空间,要往里面摆箱子,不够相应的空间箱子就要放到下一“行”,问最终的长度和宽度。宽度不一定是给定的宽度,可能有没有用掉的情况。
模拟水题。
代码:
#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#pragma warning(disable:4996)
using namespace std; int zong_weight,num;
int weight[20],height[20]; int main()
{
int i,sum,length,zong_length,max_weight;
while(scanf("%d",&zong_weight)==1)
{
if(zong_weight==0)
break; num=1;
sum=0;
length=0;
zong_length=0;
max_weight=0; while(scanf("%d%d",&weight[num],&height[num])==2)
{
if(weight[num]+height[num]==-2)
break;
num++;
} for(i=1;i<=num;i++)
{
if(sum+weight[i]<=zong_weight)
{
sum += weight[i];
length=max(length,height[i]);
max_weight=max(max_weight,sum);
}
else
{
sum=weight[i];
zong_length += length;
length=height[i];
}
}
zong_length += length;
cout<<max_weight<<" x "<<zong_length<<endl;
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
POJ 2014:Flow Layout 模拟水题的更多相关文章
- POJ 2014 Flow Layout 模拟
http://poj.org/problem?id=2014 嘻嘻2014要到啦,于是去做Prob.ID 为2014的题~~~~祝大家新年快乐~~ 题目大意: 给你一个最大宽度的矩形,要求把小矩形排放 ...
- HDOJ 2317. Nasty Hacks 模拟水题
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- poj 3080 Blue Jeans(水题 暴搜)
题目:http://poj.org/problem?id=3080 水题,暴搜 #include <iostream> #include<cstdio> #include< ...
- POJ 3984 - 迷宫问题 - [BFS水题]
题目链接:http://poj.org/problem?id=3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, ...
- poj 1007:DNA Sorting(水题,字符串逆序数排序)
DNA Sorting Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 80832 Accepted: 32533 Des ...
- poj 1004:Financial Management(水题,求平均数)
Financial Management Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 126087 Accepted: ...
- POJ 3176 Cow Bowling (水题DP)
题意:给定一个金字塔,第 i 行有 i 个数,从最上面走下来,只能相邻的层数,问你最大的和. 析:真是水题,学过DP的都会,就不说了. 代码如下: #include <cstdio> #i ...
- poj 1658 Eva's Problem(水题)
一.Description Eva的家庭作业里有很多数列填空练习.填空练习的要求是:已知数列的前四项,填出第五项.因为已经知道这些数列只可能是等差或等比数列,她决定写一个程序来完成这些练习. Inpu ...
- hdu 5003 模拟水题 (2014鞍山网赛G题)
你的一系列得分 先降序排列 再按0.95^(i-1)*ai 这个公式计算你的每一个得分 最后求和 Sample Input12530 478Sample Output984.1000000000 # ...
随机推荐
- 你必须知道的.Net 8.2.2 本质分析
1 .Equals 静态方法 Equals 静态方法实现了对两个对象的相等性判别,其在 System.Object 类型中实现过程可以表 示为: public static bool Equals ...
- 第1节 IMPALA:10、基本查询语法;11、数据加载的4种方式
9.3. 创建数据库表 创建student表 CREATE TABLE IF NOT EXISTS mydb1.student (name STRING, age INT, contact INT ) ...
- R 《回归分析与线性统计模型》page120,4.3
#P120习题4.3 rm(list = ls()) A = read.xlsx("xiti_4.xlsx",sheet = 3) names(A) = c("ord&q ...
- js加密(十二)yy.com rsa
1. url: https://aq.yy.com/ 2. target: 登录js 3. 是一个简单的rsa加密,找到加密的js文件,全部复制出来,修改一下就好. 4. 和网页中的一样
- windows电脑安装python教程
1 版本选择 2.x版本将慢慢退出历史的舞台,建议你从3.x开始学习,本教程所使用的python版本是3.6 2 下载安装包 进入官网下载页面 https://www.python.org/downl ...
- linux安装postgresql数据库
本文提供数据库安装脚本,有部分需要优化,就是脚本中的方法执行存在前后依赖,但是代码里面没有对上一个执行结果进行判断,如果提供的路径和安装包没有问题,脚本能够正常执行 #!/bin/bash # ins ...
- [ cocos2d-JS ] 创建项目命令
cocos new HelloJS -l js -p com.neworigin.HelloJS -d D:\0-Game\cocosJS-project
- tf.argmax()函数作用
tf.argmax()函数原型: def argmax(input, axis=None, name=None, dimension=None, output_type=dtypes.int64) 作 ...
- 提交作业 C语言I作业11
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127 我在这个课程的目标 ...
- C++使用 scanf函数
最近看了下C++,有些地方和c语言 还是不太一样的,当我在做输入一个数字的时候发现了错误.. 所以在使用scanf()的时候需要加下面这段在头文件 顶部: #define _CRT_SECURE_N ...