The following is the code I have written for www.spoj.com/problems/IOPC1207 Have got 9 SIGSEGV runtime error till now. Please suggest some correction. The code is running fine on Ideone for the example input.
> #include<iostream>
> #include<cstdio>
> using namespace std;
> int main()
> {
> int t,h=0,count=0;
> scanf("%d",&t);
> if(t>=1&&t<=10)
> {
> int ans[10000];
> int X,Y,Z,Q;
> for(int i=0;i<t;i++)
> {
> scanf("%d %d %d %d",&X,&Y,&Z,&Q);
> if(X>=1&&X<=100000&&Y>=1&&Y<=100000&&Z>=1&&Y<=100000&&Q>=1&&Q<=5000)
> {
> int index,low,up,x1,x2,y1,y2,z1,z2,cell[X][Y][Z];
> for(int m=0;m<X;m++)
> {
> for(int n=0;n<Y;n++)
> {
> for(int p=0;p<Z;p++)
> cell[m][n][p]=0;
> }
> }
> for(int j=0;j<Q;j++)
> {
> scanf("%d ",&index);
> if(index==0)
> {
> scanf("%d %d",&low,&up);
> for(int m=low;m<=up;m++)
> {
> for(int n=0;n<Y;n++)
> {
> for(int p=0;p<Z;p++)
> {if(cell[m][n][p]==1)
> cell[m][n][p]=0;
> else if(cell[m][n][p]==0)
> cell[m][n][p]=1;}
> }
> }
> }
> else if(index==1)
> {
> scanf("%d %d",&low,&up);
> for(int n=low;n<=up;n++)
> {
> for(int m=0;m<X;m++)
> {
> for(int p=0;p<Z;p++)
> {if(cell[m][n][p]==1)
> cell[m][n][p]=0;
> else if(cell[m][n][p]==0)
> cell[m][n][p]=1;}
> }
> }
> }
> else if(index==2)
> {
> scanf("%d %d",&low,&up);
> for(int p=low;p<=up;p++)
> {
> for(int n=0;n<Y;n++)
> {
> for(int m=0;m<X;m++)
> { if(cell[m][n][p]==1)
> cell[m][n][p]=0;
> else if(cell[m][n][p]==0)
> cell[m][n][p]=1;}
> }
> }
> }
> else if(index==3)
> {
> scanf("%d %d %d %d %d
> %d",&x1,&y1,&z1,&x2,&y2,&z2);
> for(int m=x1;m<=x2;m++)
> {
> for(int n=y1;n<=y2;n++)
> {
> for(int p=z1;p<=z2;p++)
> {
> if(cell[m][n][p]==1)
> count++;
> }
> }
> } ans[h]=count;
> h++;
> count=0;
> }
> }
> }
> }
> for(int i=0;i<h;i++)
> printf("\n%d",ans[i]);
> }
>
> return 0;
> }