CCF 窗口

网友投稿 603 2022-09-04

CCF 窗口

CCF 窗口

问题描述

思路:直接用STL里的list,没想到在删除的时候出了问题,直接用数组模拟了

AC代码

#include #include #include #include #include using namespace std;struct node{ int num; int x1; int x2; int y1; int y2;}a[15];int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) { a[i].num = i; scanf("%d%d%d%d",&a[i].x1,&a[i].y1,&a[i].x2,&a[i].y2); } node b; int x,y; for(int i=1; i<=m; i++) { scanf("%d%d",&x,&y); int j; for(j=n; j>=1; j--) { if(x >= a[j].x1 && x <= a[j].x2 && y >= a[j].y1 && y <= a[j].y2) { b = a[j]; printf("%d\n",a[j].num);//应该是先输出,不然后面的次序改了 for(int k=j; k

错误代码:

#include #include #include #include #include using namespace std;struct node{ int num; int x1; int x2; int y1; int y2;}a[15];int main(){ int n,m; list l; scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) { a[i].num = i; scanf("%d%d%d%d",&a[i].x1,&a[i].y1,&a[i].x2,&a[i].y2); l.push_back(a[i]); } for(int i=1; i<=m; i++) { bool flag = false; int x,y; scanf("%d%d",&x,&y); list::reverse_iterator rit; for(rit=l.rbegin(); rit!= l.rend(); rit++) { if(x >= rit->x1 && x <= rit->x2 && y >= rit->y1 && y <= rit->y2) { flag = true; cout<num<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用好Git 和 SVN ,轻松驾驭版本管理(用好似又仿佛造句子)
下一篇:HDU 1106 排序(切割字符串)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~