其他分享
首页 > 其他分享> > P1003 [NOIP2011 提高组] 铺地毯

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;   
}

 

标签:&&,NOIP2011,int,P1003,数组,10010,地毯
来源: https://www.cnblogs.com/2elaina/p/16452562.html