在线评测:
http://codevs.cn/problem/1134/
整体思路:
先把所有的地毯离线,然后读入所求位置之后将地毯倒着来,当前地毯覆盖目标点,输出即可
失误之处:
开始并没有发现可以先离线,读入目标点,撒比了,,QAQ,差点写了50的暴力暴力暴力模拟,,,,
体会心得:
显然做题要好好读题,,,
AC代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; int n,a[11000],b[11000],g[11000],k[11000],x,y; int main() { scanf ( "%d" ,&n); for ( int i = 1;i <= n;i++) { scanf ( "%d%d%d%d" ,&a[i],&b[i],&g[i],&k[i]); } scanf ( "%d%d" ,&x,&y); for ( int i = n;i >= 1;i--) { int you = a[i] + g[i]; int shang = b[i] + k[i]; if (x >= a[i] && y >= b[i] && x <= you && y <= shang) { printf ( "%d\n" ,i); return 0; } } printf ( "-1\n" ); return 0; } |