描述

S 君喜欢用大头针儿扎纸片儿玩儿。

输入
第一行为一个整数 n (0 <= n <= 100),表示纸片的个数
之后的 n 行中,第 i 行为四个整数 Ai, Bi, Ci, Di (-1000000000 <= Ai < Ci <= 1000000000; -1000000000 <= Bi < Di <= 1000000000),分别表示第 i 个纸片(可以视为和坐标轴对齐的矩形)左下角坐标 (Ai, Bi) 和右上角坐标 (Ci, Di)。

输出
S 君一个大头针儿下去最多能扎到多少个纸片儿?

假设大头针可以穿透任意数量的纸片;
若大头针刚好沿着纸片的边缘穿过,则不计入该纸片;
大头针的坐标可以取任意实数。

样例输入
4
0 0 1 1
1 0 2 1
2 0 3 1
0 0 3 1

样例输出
2

我的测试用例

4
0 0 3 1
0 0 3 1
0 0 3 1
0 0 3 1
答案:4

3
0 0 2 2
1 1 3 3
2 2 4 4
答案:2

4
0 0 2 2
1 1 3 3
2 2 4 4
2 0 5 5
答案:3

5
0 0 2 2
1 1 3 3
2 2 4 4
2 0 5 5
0 3 2 5
答案:3

7
0 0 2 2
1 1 3 3
2 2 4 4
2 0 5 5
0 3 2 5
0 0 5 5
0 0 5 5
答案:5

代码

思路:先找到一个能包括左所有纸片的最小范围D,然后以0.5单位一次的步伐,遍历D中的每个位置,计算这些位置的厚度,找出最大厚度。

#include<iostream>
using namespace std;
class Paper
{public:int left;int right;int up;int down;
};int main()
{int leftmin = 1000000000, rightmax = -1000000000, upmax = -1000000000, downmin = 1000000000;int total;cin >> total;int i;Paper paper[100];//找到边缘,这个最厚的点在边缘之内for (i = 0; i < total; i++){cin >> paper[i].left >> paper[i].down >> paper[i].right >> paper[i].up;if (paper[i].left < leftmin)leftmin = paper[i].left;if (paper[i].right > rightmax)rightmax = paper[i].right;if (paper[i].up > upmax)upmax = paper[i].up;if (paper[i].down < downmin)downmin = paper[i].down;}//遍历边缘之内所有的点(left,up)(right,up);(left,down),(right,down)double x, y;int paperOKmax = 0;int paperOK = 0;for (x = leftmin; x <= rightmax; x += 0.5){for (y = downmin; y <= upmax; y += 0.5){if (paperOK > paperOKmax)paperOKmax = paperOK;paperOK = 0;for (i = 0; i < total; i++){if (paper[i].left < x && paper[i].right > x && paper[i].up > y && paper[i].down < y){paperOK++;}}}}cout << paperOKmax;cout << endl;system("pause");
}

ACM练习 校赛83C:纸片儿(测试用例通过但WA/TLE)相关推荐

  1. ACM练习 校赛183F:公平的游戏(TLE)【vector不重复添加、删除指定元素、排序】

    总时间限制: 1000ms 内存限制: 256000kB 描述 如果说考试还会受到天赋的影响,那最公平的游戏就非抽奖莫属了. 输入 第一行输入一个整数 N,代表操作的总数 接下来的 N 行中,第 i ...

  2. 成都东软学院2016年ACM冬季校赛正式赛 - 题解

    Problem A: 数组的价值 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 121  Solved: 4 [Submit][Status][BBS ...

  3. ACM练习 校赛183F:公平的游戏(TLE)【set的使用,给迭代器增加指定偏移量】

    总时间限制: 1000ms 内存限制: 256000kB 描述 如果说考试还会受到天赋的影响,那最公平的游戏就非抽奖莫属了. 输入 第一行输入一个整数 N,代表操作的总数 接下来的 N 行中,第 i ...

  4. Contest RankList -- 2017年成都东软学院ACM冬季校赛(热身赛)

    Problem A: Alike string Time Limit: 1 Sec   Memory Limit: 128 MB Submit: 110   Solved: 23 [ Submit][ ...

  5. 2014哈商大ICPC/ACM校赛解题报告

    被debug邀请去參加校赛,哎,被虐..我对不起工大.. 由于本人不搞ACM,算法处于HelloWorld水准.. 虽然题目除了鸟不拉屎星人之外都非常水,但我能做到这个程度,全然是超水平发挥了.. 数 ...

  6. XUPT-ACM校赛心得

    上周六参加了学校的acm的校赛,经过5个多小时的努力,最后摘得校赛金奖,第四名,现在写下这篇博客一来写出心中的喜悦,二来总结比赛中的不足,再者计划一下下一步的目标. 我们小队的三名队员都是大一的,大家 ...

  7. 2014湖南农业大学ACM校赛

    湖南农业大学 2014年 ACM 校赛Problem 2014 /2/23  星期日  12:30-17:30 A.搜素      1794.查找指定的字符串      B.链表      1795 ...

  8. [置顶]2010年东北大学ACM程序设计竞赛冬季校赛题解

    8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练. AC的题如下 NEUOJ  1112 I Love Apple Description So many people love app ...

  9. 山东科技大学第二届ACM校赛解题报告

    这次校赛的目的,是为了省赛测试各种程序是否有问题. 热身赛的逗比题有点打击我,感觉正式赛应该不会出这种问题.开始的时候直接上了A题,然后大概是第六,前面好多友情队,正式队排名第二. 然后读了读B题,稍 ...

最新文章

  1. php controller 间调用,php – 在CodeIgniter中的另一个Controller中调用Controller函数
  2. java final类的写法_重拾JavaSE基础——抽象类、接口、代码块、final和枚举
  3. python写一个表白程序_520最实用的Python表白程序
  4. leetcode557. 反转字符串中的单词 III
  5. 一道解决的非常漂亮的算法题
  6. c语言整数反转用while函数,7.整数反转(LeetCode)——C语言
  7. python多大学_用Python看看你的大学A4纸还剩多少!
  8. windows驱动开发技术详解 VC6与DDK搭配使用的设置
  9. [回溯法] 求n个元素的集合的幂集 - 递归实现 - C语言
  10. 线性代数知识点总结,基础概念和计算整理(手写版)
  11. HTTP协议-报文解析
  12. ORA-00955:名称已由现有对象使用;
  13. java hotspot server_Java HotSpot(TM)64位服务器VM警告
  14. 思维导图使用技巧:手把手教你怎么画思维导图 #CSDN博文精选# #系统化学习# #IT技术# #知识图谱#
  15. 网络工程师必备技术汇总
  16. matlab 写netcdf,写入 netCDF 属性
  17. XLA编译器用于JIT加速
  18. 微信公众号获取用户头像
  19. Windows~~~在MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES) ,并修改MySQL密码
  20. 阿里巴巴笔试 算法 9.21

热门文章

  1. java8新特性_乐字节-Java8新特性-函数式接口
  2. GraphSAGE节点分类
  3. codeforces contest 1140(D~G)
  4. Socket重叠IO
  5. 数据结构与算法 | 循环队列
  6. 扔掉,MySQL!性能被 MariaDB 吊打…
  7. Kafka日志清理之Log Compaction
  8. 集群管理工具KafkaAdminClient——原理与示例
  9. OS- -调度(一)
  10. 音视频技术开发周刊 | 238