数组爆了。。。。ZOJ 3041 求想法
c语言吧
全部回复
仅看楼主
level 12
刘好羞🌝 楼主
题意大概是这样的。。。在一块区域进行城市选址,有n个备选地址。那块区域本来有好些工厂(m个)。那地方挂西北风,所以城市不能建在工厂的东南方向。
问题是。。。(1 <= N, M <= 200000),而且坐标的点也是-1000000000~1000000000的。。。。
struct point{ long x,y;};
long n,m,c; long i,j; struct point city[200000],fact[200000]; char choose[200000];
然后就stack overflow的有木有啊有木有。。。。
各位前辈学长有啥想法么?

2011年07月18日 14点07分 1
level 12
刘好羞🌝 楼主
最大的问题是。。。先输入备选地址的坐标。。。再输入工厂的坐标。。。。。
如果能先输入工厂的坐标我就可以不用存备选地址的坐标了。。直接用链表存可选的地址应该可以省下一大笔空间吧。。。。
2011年07月18日 14点07分 2
level 11
栈空间爆了?试试global
2011年07月18日 14点07分 3
level 11
另外,choose[]写个简单位图吧,浪费几位没关系=w=
2011年07月18日 14点07分 4
level 12
刘好羞🌝 楼主
long n,m,c;
long i,j;
struct point *city = malloc(sizeof(struct point) * 200000);
struct point *fact = malloc(sizeof(struct point) * 200000);
char choose[200000];
改成这样的了,行吗= =?
2011年07月18日 14点07分 5
1