博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1003 铺地毯
阅读量:4458 次
发布时间:2019-06-08

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

嗯....

 

一道比较水的模拟题..

 

刚拿到题的时候被它的数据范围吓到了,二维数组不可能开那么大啊,可是一边做发现测试数据太水 ...

 

先看一下题吧:

---------貌似说明没有用,本来我们就是后面的自动将前面的覆盖..

 

第一次只过了3个点,本来以为是MLE,没想到是WA....然后才发现自己居然只判断了一边的边界,另一边的边界没有判断...

 

思路:

  首先一次性地将所有的东西全都输入,然后进行逆序查找,会节省一些时间,如果发现g[x][y]点上覆盖着地毯,直接输出即可(这与题中的说明有关...

 

下面是AC代码...

1 #include
2 #include
3 4 using namespace std; 5 6 7 int g[10005][10005]; 8 int a[10005][4]; 9 int x, y;10 11 int main(){12 int n;13 scanf("%d", &n);14 for(int i = 1; i <= n; i++){15 for(int j = 1; j <= 4; j++){16 scanf("%d", &a[i][j]); 17 }18 }19 scanf("%d%d", &x, &y);//全部读入 20 for(int i = n; i >= 1; i--){
//逆序查找(将地毯从上往下掀 21 if(x >= a[i][1] && x <= a[i][1] + a[i][3] && y >= a[i][2] && y <= a[i][2] + a[i][4]){
//注意一共有四个边界 22 printf("%d", i);23 return 0;24 }25 }26 printf("-1");//没有覆盖 27 return 0;28 }

 

转载于:https://www.cnblogs.com/New-ljx/p/10663090.html

你可能感兴趣的文章
HDU1028 Ignatius and the Princess III 求一个整数被分为多个数相加有多少种可能
查看>>
团队怎样去做技术规划
查看>>
m_Orchestrate learning system---网站的语言选择功能(中文英文)
查看>>
Linux课程---5、常用文件命令和目录命令(创建文件命令)
查看>>
PHP缓存技术OB系统函数(总结)
查看>>
m_Orchestrate learning system---二十六、动态给封装好的控件添加属性
查看>>
Centos6.5静默安装Oracle 11g
查看>>
比目鱼
查看>>
autofac + owin + webform + mvc + webapi集成demo
查看>>
Maven学习存档(1)——安装
查看>>
hadoop yarn ui applications list 研究
查看>>
shiro(三),使用第三方jdbcRealm连接数据库操作
查看>>
当asp.net core偶遇docker二(打造个人docker镜像)
查看>>
改善C#程序的50种方法(转)
查看>>
SSH整合简单实例
查看>>
大学学不会逃课是不会有出息的!
查看>>
Codeforces 960B(优先队列)
查看>>
语言基础(5):程序内存结构
查看>>
angular filter
查看>>
JLabel作为展现元素时需要注意的事项
查看>>