CodeVs 1134 && noip 2011 Day1 铺地毯
2014-10-19 09:40
267 查看
一开始秒想到的是暴力,然后写了暴力的50分..怎么说数据也是很水的...
然后细心的想了一下,一般第一题都是模拟题,然后地毯是后的覆盖在前的,那么只需要判断从最后的地毯到最前的地毯有没有覆盖目标点就行了。
/* 暴力的写法基本2-3分钟就能想到的做法,轻松水到50分 */ #include<iostream> #include<algorithm> #include<cstring> #include<queue> #include<cstdlib> using namespace std; const int M=1005; int map[M][M]; void solve(int sx, int st, int x, int y, int color) { for (int i=0; i<=x; i++) for (int j=0; j<=y; j++) map[sx+i][st+j]=color; } int main() { int n; cin>>n; memset(map, -1, sizeof(map)); for (int i=1; i<=n; i++) { int a, b, g, k; cin>>a>>b>>g>>k; solve(a, b, g, k, i); } int x, y; cin>>x>>y; cout<<map[x][y]<<endl; return 0; }
然后细心的想了一下,一般第一题都是模拟题,然后地毯是后的覆盖在前的,那么只需要判断从最后的地毯到最前的地毯有没有覆盖目标点就行了。
/* 倒过来看一下就知道了,如果点在范围内可以直接输出,第一题一般都是模拟题,只要细心想一下ac不是很难的事 */ #include<iostream> #include<cstdlib> #include<cstring> using namespace std; const int M=100005; int ans; int n; int x1[M]; int y1[M]; int x2[M]; int y2[M]; int main() { cin>>n; int nn=n; int j=0; while (n--) { int a, b, g, k; cin>>a>>b>>g>>k; x1[++j]=a; x2[j]=a+g; y1[j]=b; y2[j]=b+k; } int x, y; ans=-1; cin>>x>>y; for (int i=nn; i>=1; i--) { if (x>=x1[i] && y>=y1[i] && x<=x2[i] && y<=y2[i]){ ans=i; break; } } cout<<ans<<endl; return 0; }
相关文章推荐
- CODEVS 1134 noip2011 铺地毯
- CodeVs 1135 && noip 2011 Day1-2 选择客栈
- 【noip2011】codevs1135选择客栈
- Noip[2011]Codevs[1135]洛谷[1311]选择客栈 清流解法,二分+线段树+树状数组
- 【noip2011】【codevs1135】选择客栈
- codevs1066&&noip引水入城
- BZOJ2244 & Codevs1822 [SDOI2011]拦截导弹
- 【NOIP2011TG】【OJ4366】【codevs1135】选择客栈
- NOIP 车站分级 (luogu 1983 & codevs 3294 & vijos 1851) - 拓扑排序 - bitset
- Code Vs 1169 传纸条 && 2008年NOIP全国联赛提高组
- 【题解】CodeVS1217 NOIP2011D2T2借教室
- 【DFS】CODE[VS] 1018&&NOIP2000提高组T3 单词接龙 (日常刷题???)
- 【noip2011】【codevs1137】计算系数
- Code Vs 1155 金明的预算方案&& 2006年NOIP全国联赛提高组
- 【POI1999&&codevs3634】积水,关于sunshine爷的NOIP(suan)水(ge)题(pi)赛
- 【动态规划】【记忆化搜索】CODEVS 1010 过河卒 2002年NOIP全国联赛普及组
- 【NOIP2000TG/codevs1017】 乘积最大 解题报告
- 【CodeVS1101】【NOIP2002】矩形覆盖
- 【Codevs1421】【树上DP】【博弈论】秋静叶&秋穰子
- 【codevs1063】【NOIP2004PJ】合并果子,贪心の钻石