1 条题解
-
0
//鄙人思路是先输出,逆序找,因为后来的地毯会覆盖之前的,一发现有解就输出
`
#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; }
- 1
信息
- ID
- 1540
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 31
- 已通过
- 24
- 上传者