P1003 [NOIP2011 提高组] 铺地毯

2022/7/6 23:32:48

本文主要是介绍P1003 [NOIP2011 提高组] 铺地毯,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

https://www.luogu.com.cn/problem/P1003
涉及知识点:模拟,枚举暴力
橙色题
  思路:先输出,逆序找,因为后来的地毯会覆盖之前的,一发现有解就输出   代码:
#include"cstdio"
#include"iostream"
using namespace std;
int a[10010],b[10010],g[10010],k[10010],s[10010];//开数组,不多说,s数组标记地毯序号
int main()
{
 //ios::sync_with_stdio(false);//可关闭和stdio同步加速
 int n,i,x,y,ok=1;//ok标记是否有解
 cin>>n;
 for(i=1;i<=n;i++)   
 {cin>>a[i]>>b[i]>>g[i]>>k[i];   
  s[i]=i;//把i存进数组里  
 }   
 cin>>x>>y;
 for(i=n;i>=1;i--)
 {
  if(x>=a[i]&&x<=a[i]+g[i]&&y>=b[i]&&y<=b[i]+k[i])
  {
  ok=0;cout<<s[i];break;//逆序找,发现有解,把ok标记为0,输出并退出循环
  }                
 }
 if(ok) cout<<"-1";//如果找遍了都没解就输出-1
 return 0;   
}

 



这篇关于P1003 [NOIP2011 提高组] 铺地毯的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程