栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3005 Bacteria Colony

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3005 Bacteria Colony

#include<cstdio>#include<cstring>#include<cstdlib>#include<ctime>#include<algorithm>#include<iostream>#include<cmath>#include<queue>#include<vector>#include<map>using namespace std;const int maxn=505;struct A{ int x1, y1, x2, y2;}g[maxn];int n;vector<int> ans;bool vis[maxn];void run(int xl, int yl, int xr, int yr, int k){ while (k<=n && (xl>=g[k].x2 || xr<=g[k].x1 || yl>=g[k].y2 || yr<=g[k].y1)) k++; if (k>n) return; if (xl<g[k].x1) { run(xl, yl, g[k].x1, yr, k+1); xl = g[k].x1; } if (xr>g[k].x2) { run(g[k].x2, yl, xr, yr, k+1); xr = g[k].x2; } if (yl<g[k].y1) { run(xl, yl, xr, g[k].y1, k+1); } if (yr>g[k].y2) { run(xl, g[k].y2, xr, yr, k+1); } if (!vis[k]) { ans.push_back(k); vis[k]=1; }}int main(){ int i, j, k, m; while (scanf ("%d", &n)!=EOF) { for (i=1; i<=n; i++) scanf ("%d%d%d%d", &g[i].x1, &g[i].y1, &g[i].x2, &g[i].y2); scanf ("%d", &m); while (m--) { ans.clear(); memset (vis, 0, sizeof(vis)); scanf ("%d", &k); run(g[k].x1, g[k].y1, g[k].x2, g[k].y2, k+1); sort(ans.begin(), ans.end()); printf ("%d", ans.size()); for (j=0; j<ans.size(); j++) printf (" %d", ans[j]); printf ("n"); } printf ("n"); }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号