This blog is developed to encourage the beginners. Leave comments if you found any bugs or if you have any suggestions or requirements......
Tuesday, May 31, 2011
Monday, May 30, 2011
Sunday, May 29, 2011
Saturday, May 28, 2011
Friday, May 27, 2011
11110 - Equidivisions
#include<iostream>
#include<cstdio>
#include<cstring>
#include <cstdlib>
#define M 103
using namespace std;
int Board[M][M],point[60];
int start[M][2],N,n;
char inp[10000];
int next[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
void format (int num);
void DFS_Visit(int,int);
int main()
{
int i,j,f;
//freopen("in.txt","r",stdin);
while(gets(inp))
{
sscanf(inp,"%d",&n);
if(!n)break;
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
Board[i][j] = n;
for(i=1;i<n;i++)
{
gets(inp);
format(i);
}
f = 1;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(!Board[i][j])
continue;
N=1;
DFS_Visit(i,j);
if(N!=n){f=0;goto NEXT;}
}
NEXT:
if(f)
printf("good\n");
else
printf("wrong\n");
memset(Board,0,sizeof(Board));
memset(point,0,sizeof(point));
memset(start,0,sizeof(start));
}
return 0;
}
void DFS_Visit(int u,int v)
{
int i,tu,tv,x;
x = Board[u][v];
Board[u][v] = 0;
for(i=0;i<4;i++)
{
tu = u + next[i][0];
tv = v + next[i][1];
if(tu>=0&&tu<n&&tv>=0&&tv<n&&Board[tu][tv]==x)
{
N++;
DFS_Visit(tu,tv);
}
}
}
void format (int num)
{
char *pch;
pch = strtok (inp, " ");
while ( pch != NULL )
{
int c1 = atoi (pch);
pch = strtok (NULL, " ");
int c2 = atoi (pch);
pch = strtok (NULL, " ");
Board [c1 - 1] [c2 - 1] = num;
}
}
#include<cstdio>
#include<cstring>
#include <cstdlib>
#define M 103
using namespace std;
int Board[M][M],point[60];
int start[M][2],N,n;
char inp[10000];
int next[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
void format (int num);
void DFS_Visit(int,int);
int main()
{
int i,j,f;
//freopen("in.txt","r",stdin);
while(gets(inp))
{
sscanf(inp,"%d",&n);
if(!n)break;
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
Board[i][j] = n;
for(i=1;i<n;i++)
{
gets(inp);
format(i);
}
f = 1;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(!Board[i][j])
continue;
N=1;
DFS_Visit(i,j);
if(N!=n){f=0;goto NEXT;}
}
NEXT:
if(f)
printf("good\n");
else
printf("wrong\n");
memset(Board,0,sizeof(Board));
memset(point,0,sizeof(point));
memset(start,0,sizeof(start));
}
return 0;
}
void DFS_Visit(int u,int v)
{
int i,tu,tv,x;
x = Board[u][v];
Board[u][v] = 0;
for(i=0;i<4;i++)
{
tu = u + next[i][0];
tv = v + next[i][1];
if(tu>=0&&tu<n&&tv>=0&&tv<n&&Board[tu][tv]==x)
{
N++;
DFS_Visit(tu,tv);
}
}
}
void format (int num)
{
char *pch;
pch = strtok (inp, " ");
while ( pch != NULL )
{
int c1 = atoi (pch);
pch = strtok (NULL, " ");
int c2 = atoi (pch);
pch = strtok (NULL, " ");
Board [c1 - 1] [c2 - 1] = num;
}
}
Thursday, May 26, 2011
10102 - The path in the colored field
Tuesday, May 24, 2011
Monday, May 23, 2011
Saturday, May 21, 2011
Friday, May 20, 2011
Thursday, May 19, 2011
Tuesday, May 17, 2011
Wednesday, May 11, 2011
908 - Re-connecting Computer Sites
Tuesday, May 3, 2011
10790 - How Many Points of Intersection?
10494 - If We Were a Child Again
10469 - To Carry or not to Carry
Monday, May 2, 2011
10323 - Factorial! You Must be Kidding!!!
10302 - Summation of Polynomials
Subscribe to:
Comments (Atom)