0

手伝ってくれませんか。このコードに問題があり、修正できません。プログラム受信信号SIGSEGV、セグメンテーション違反ですが、どの行に表示されるかは表示されません。助けてください!

#include<stdio.h>
int main(){
freopen("puncte5.in","r",stdin);
freopen("puncte5.out","w",stdout);
int t[5001][5001],cx,cy,n,k,x,y,l,s,mx=0,my=0,lmax=32001;
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
    scanf("%d%d",&x,&y);
    t[x][y]=1;
    if(x>mx)mx=x;
    if(y>my)my=y;}
for(x=1;x<=mx-1;x++)
    for(y=1;y<=my-1;y++)
        for(l=1;x+l<=mx&&y+l<=my;l++,s=0)
            for(cx=x;cx<=x+l;cx++)
                for(cy=y;cy<=y+l;cy++){
                    s+=t[cx][cy];
                    if(s>=k)
                        if(l<=lmax)
                            l=lmax;
                    }
printf("%d",lmax);
return 0;}
4

1 に答える 1

0

やってみました

l< lmax の場合

それ以外の

l<=lmax

于 2013-01-05T12:30:09.983 に答える