RTE's for slight invalid memory access often results in WA.
Check this out
Code: Select all
int image[28][28]
Code: Select all
for (i = 0; i <= 28; ++i)
for (j = 0; j <= 28; ++j)
image[i][j] = 0;
![:(](./images/smilies/icon_frown.gif)
location.
Moderator: Board moderators
Code: Select all
int image[28][28]
Code: Select all
for (i = 0; i <= 28; ++i)
for (j = 0; j <= 28; ++j)
image[i][j] = 0;
It's working now!!marceh wrote:Hi!
I'm one of the judge administrators...I've checked problem #352 and you were right! There was an extra empty line at the end of the input! That's not an impossible test case, and it's not there on purpose.
Whenever you notice something like that, please mail us to problemset@acm.uva.es! I can't read the whole topics in here...
I've changed the input, and I'm rejudging all submissions...
Sorry about the mistake.
Carlos.
nq wrote:#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int len=0,count=0,index=0;
int arr[25][25];
int nof1[50];
void cal(int,int);
void count1(void);
void fileread(void);
void filewrite(void);
void disp(void);
void main()
{
clrscr();
fileread();
filewrite();
getch();
}
void count1()
{
for(int i=0;i<len;i++)
for(int j=0;j<len;j++)
{
if(arr[j]==1)
{
count++;
cal(i,j);
arr[j]=0;
}
}
nof1[index++]=count;
cout<<count<<endl;
count=0;
}
void fileread()
{
FILE *file;
int flag=1,line=0,i=-1,j=0,temp=0;
file=fopen("c:\\data.txt","r");
char c;
c=getc(file);
while(c != EOF)
{
if(flag)
{
len = c;
len-=48;
flag=0;
}
else
{
if(c=='\n')
{
line++;
i++;
j=0;
}
if(line > len )
{
count1();
flag=1;
line=0;
i=-1;
j=0;
}
else
{
if(c=='\n');
else
{
temp=c;
temp-=48;
arr[j]=temp;
j++;
}
}
}
c=getc(file);
}
fclose(file);
}
void filewrite()
{
FILE *file;
file=fopen("c:\\save.txt","w");
for(int i=0;i<index;i++)
{
int temp=nof1;
temp+=48;
char c=temp;
putc(c,file);
putc('\n',file);
}
fclose(file);
}
void cal(int ax,int ay)
{
if(ax<len-1)
{
if(arr[ax+1][ay]==1)
{
ax++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ay<len-1)
{
if(arr[ax][ay+1]==1)
{
ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax<len-1&&ay<len-1)
{
if(arr[ax+1][ay+1]==1)
{
ax++;ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0)
{
if(arr[ax-1][ay]==1)
{
ax--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ay>0)
{
if(arr[ax][ay-1]==1)
{
ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax<len-1&&ay>0)
{
if(arr[ax+1][ay-1]==1)
{
ax++;ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0&&ay<len-1)
{
if(arr[ax-1][ay+1]==1)
{
ax--;ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0&&ay>0)
{
if(arr[ax-1][ay-1]==1)
{
ax--;ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
}
[cpp][/cpp]
nq wrote:[cpp]
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int len=0,count=0,index=0;
int arr[25][25];
int nof1[50];
void cal(int,int);
void count1(void);
void fileread(void);
void filewrite(void);
void disp(void);
void main()
{
clrscr();
fileread();
filewrite();
getch();
}
void count1()
{
for(int i=0;i<len;i++)
for(int j=0;j<len;j++)
{
if(arr[j]==1)
{
count++;
cal(i,j);
arr[j]=0;
}
}
nof1[index++]=count;
cout<<count<<endl;
count=0;
}
void fileread()
{
FILE *file;
int flag=1,line=0,i=-1,j=0,temp=0;
file=fopen("c:\\data.txt","r");
char c;
c=getc(file);
while(c != EOF)
{
if(flag)
{
len = c;
len-=48;
flag=0;
}
else
{
if(c=='\n')
{
line++;
i++;
j=0;
}
if(line > len )
{
count1();
flag=1;
line=0;
i=-1;
j=0;
}
else
{
if(c=='\n');
else
{
temp=c;
temp-=48;
arr[j]=temp;
j++;
}
}
}
c=getc(file);
}
fclose(file);
}
void filewrite()
{
FILE *file;
file=fopen("c:\\save.txt","w");
for(int i=0;i<index;i++)
{
int temp=nof1;
temp+=48;
char c=temp;
putc(c,file);
putc('\n',file);
}
fclose(file);
}
void cal(int ax,int ay)
{
if(ax<len-1)
{
if(arr[ax+1][ay]==1)
{
ax++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ay<len-1)
{
if(arr[ax][ay+1]==1)
{
ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax<len-1&&ay<len-1)
{
if(arr[ax+1][ay+1]==1)
{
ax++;ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0)
{
if(arr[ax-1][ay]==1)
{
ax--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ay>0)
{
if(arr[ax][ay-1]==1)
{
ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax<len-1&&ay>0)
{
if(arr[ax+1][ay-1]==1)
{
ax++;ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0&&ay<len-1)
{
if(arr[ax-1][ay+1]==1)
{
ax--;ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0&&ay>0)
{
if(arr[ax-1][ay-1]==1)
{
ax--;ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
}
[/cpp]
nq wrote:#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int len=0,count=0,index=0;
int arr[25][25];
int nof1[50];
void cal(int,int);
void count1(void);
void fileread(void);
void filewrite(void);
void disp(void);
void main()
{
clrscr();
fileread();
filewrite();
getch();
}
void count1()
{
for(int i=0;i<len;i++)
for(int j=0;j<len;j++)
{
if(arr[j]==1)
{
count++;
cal(i,j);
arr[j]=0;
}
}
nof1[index++]=count;
cout<<count<<endl;
count=0;
}
void fileread()
{
FILE *file;
int flag=1,line=0,i=-1,j=0,temp=0;
file=fopen("c:\\data.txt","r");
char c;
c=getc(file);
while(c != EOF)
{
if(flag)
{
len = c;
len-=48;
flag=0;
}
else
{
if(c=='\n')
{
line++;
i++;
j=0;
}
if(line > len )
{
count1();
flag=1;
line=0;
i=-1;
j=0;
}
else
{
if(c=='\n');
else
{
temp=c;
temp-=48;
arr[j]=temp;
j++;
}
}
}
c=getc(file);
}
fclose(file);
}
void filewrite()
{
FILE *file;
file=fopen("c:\\save.txt","w");
for(int i=0;i<index;i++)
{
int temp=nof1;
temp+=48;
char c=temp;
putc(c,file);
putc('\n',file);
}
fclose(file);
}
void cal(int ax,int ay)
{
if(ax<len-1)
{
if(arr[ax+1][ay]==1)
{
ax++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ay<len-1)
{
if(arr[ax][ay+1]==1)
{
ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax<len-1&&ay<len-1)
{
if(arr[ax+1][ay+1]==1)
{
ax++;ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0)
{
if(arr[ax-1][ay]==1)
{
ax--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ay>0)
{
if(arr[ax][ay-1]==1)
{
ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax<len-1&&ay>0)
{
if(arr[ax+1][ay-1]==1)
{
ax++;ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0&&ay<len-1)
{
if(arr[ax-1][ay+1]==1)
{
ax--;ay++;
arr[ax][ay]=0;
cal(ax,ay);
}
}
if(ax>0&&ay>0)
{
if(arr[ax-1][ay-1]==1)
{
ax--;ay--;
arr[ax][ay]=0;
cal(ax,ay);
}
}
}
[cpp][/cpp]
Code: Select all
code removed!
Code: Select all
while(cin)
{
cin>>n;
//
}
Code: Select all
while(cin>>n)
{
//
}
Code: Select all
code deleted.
Code: Select all
code removed after ac
[b] :( [/b]