Thursday, May 9, 2013

Techgig: Visit a Colony

Techgig: Visit a Colony
To view this question : Click Here

I have given the solution here, My score in the contest is 100. If you have any solution better than this feel free to share it.

Download Code: Click Here or Click Here

import java.io.*;
public class CandidateCode
{
public static int house_condition(int[] input1,int input2)
{
//Write code here
//Write code here

int houseScore[] = input1;
int houseNo = input2;
char good = 'G';

char bad = 'B';

char houseCondition[] = new char[houseScore.length];

if(input1.length==0)
return -1;
if(houseScore.length==1)
{
if(houseScore[0]==1)
return 1;
else if(houseScore[0]==0)
return -1;
else if(houseScore[0]==2 || houseScore[0]==3)
return -1;
}
else
{
for(int i=0;i{

if(i==0)
{
houseCondition[0]=good;
if(houseScore[i]==1)
houseCondition[i+1]=bad;

if(houseScore[i]==2)
houseCondition[i+1]=good;

if(houseScore[i]==3)
return -1;
continue;
} // END-IF (For first value in an array)

if(i==houseScore.length-1)
{
if(houseCondition[i]==good)
{
if(houseScore[i]==0)
{
return -1;
}
if(houseScore[i]==1)
{
if(houseCondition[i-1]==good)
return -1;
}
if(houseScore[i]==2)
{
if(houseCondition[i-1]==bad)
return -1;
}
if(houseScore[i]==3)
return -1;
}

if(houseCondition[i]==bad)
{
if(houseScore[i]==0)
{
if(houseCondition[i-1]==good)
return -1;
}
if(houseScore[i]==1)
{
if(houseCondition[i-1]==bad)
return -1;
}
if(houseScore[i]==2 || houseScore[i]==3)
return -1;
}
} // END -IF (When i is at last position)


else
{
if(houseCondition[i]==good)
{
if(houseScore[i]==3)
{
if(houseCondition[i-1]==bad)
return -1;
else
houseCondition[i+1]=good;
}

if(houseScore[i]==2)
{
if(houseCondition[i-1]==good)
houseCondition[i+1]=bad;
else
houseCondition[i+1]=good;
}
if(houseScore[i]==1)
{
if(houseCondition[i-1]==good)
return -1;
else
houseCondition[i+1]=bad;
}
if(houseScore[i]==0)
{
return -1;
}
}

if(houseCondition[i]==bad)
{
if(houseScore[i]==3)
return -1;

if(houseScore[i]==2)
{
if(houseCondition[i-1]==bad)
return -1;

else
houseCondition[i+1]=good;
}

if(houseScore[i]==1)
{
if(houseCondition[i-1]==bad)
houseCondition[i+1]=good;

else
houseCondition[i+1]=bad;
}
if(houseScore[i]==0)
{
if(houseCondition[i-1]==good)
return -1;
else
houseCondition[i+1]=bad;
}
}
}
}
}

if(houseCondition[houseNo-1]==good)
return 1;
else
return 0;
}
}



Download Code: Click Here or Click Here

1 comments:

Sumedh said...

Here is my solution on my blog.

http://blog.sumedh.in/post/2013/06/02/TECHGIG-Code-Contest-HomeThe-Great-Indian-Programming-League-2013-May-Edition-Visit-a-Colony.aspx