Farmer John has recently acquired NN new cows (3≤N≤5×105)(3≤N≤5×105), each of whose breed is either Guernsey or Holstein.The cow
s are currently standing in a line, and Farmer John wants take a photo of every sequence of three or more consecutive cows. However, he doesn't want to take a photo in which there is exactly one cow whose breed is Guernsey or exactly one cow whose breed is Holstein --- he reckons this singular cow would feel isolated and self-conscious. After taking a photo of every sequence of three or more cows, he throws out all of these so-called "lonely" photos, in which there is exactly one Guernsey or exactly one Holstein.
//Note: This program was compiled using turboc compiler. If you are using gcc or any other compiler, then you have to modify the code slightly #include #include int main() { int field[110][110]; //FIELD SIZE int N, i, j; char dir[50]; //TO REPRESENT THE DIRECTIONS OF 50 COWS int cow[50][1][2]; //TO STORE THE X,Y COORDINATES OF 50 COWS int infinity[50]; //TO IDENTIFY, HOW MANY COWS VALUES WILL BE INFINITY AND VICE VERSA int count[50]; //TO COUNT AMOUNT OF GRASS EATEN BY EVERY COW int cont = 1; //FLAG VARIABLE, INITIALLY KEEP IT 1.
//CLEAR THE SCREEN clrscr();
//MARK ALL FIELD POSITIONS AS 1, INDICATING THERE IS GRASS TO EAT for (i=0; i<110; i++) for (j=0; j<110; j++) field[i][j]=1;
//FOR ALL COWS SET INFINITY AS 1 AND COUNT AS 0. I.E WE ASSUME THAT //EVERY COW WILL EAT INFINITE GRASS AND INITIALLY IT HAS NOT EATEN ANYTHING //SO COUNT IS SET AS 0 for (i=0 ; i<50 ; i++){ infinity[i] = 1; count[i] = 0; }
//READ N, I.E NO. OF COWS scanf("%d", &N);
//FOR EACH COW, READ THE DIRECTION AND X, Y COORDINATES for( i=0 ; i fflush(stdin); scanf("%c%d%d", &dir[i], &cow[i][0][0], &cow[i][0][1]); }
//REPEAT UNTIL CONT==1 while( cont==1 ){
//FOR EVERY COW CHECK ITS DIRECTION for( i=0 ; i //IF THE COW IS FACING NORTH DIRECTION if( dir[i] == 'N'){ //IF THE RESPECTIVE COW'S Y COORDINATE IS LESS THAN 109 if( cow[i][0][1] < 109 ) //IF THERE IS GRASS IN THE PARTICULAR LOCATION, if( field[cow[i][0][0]][cow[i][0][1]] == 1 ){ //LET THE COW MOVES TO THE NEXT LOCATION, BY INCREMENTING THE VALUE ASSOCIATED WITHN Y-COORDINATE cow[i][0][1]++; //INCREMENT THE COUNT VALUE FOR THE RESPECTIVE COW count[i]++; } else //IF THERE IS NO GRASS IN THAT LOCATION, THEN MAKE THE INFINITY VALUE CORRESPONDING TO THIS COW AS 0 //COW STOPS infinity[i] = 0; }
//IF THE COW IS FACING EAST DIRECTION if( dir[i] == 'E'){ //IF THE RESPECTIVE COW'S X COORDINATE POS IS LESS THAN 109 if( cow[i][0][0] < 109 ) //IF THERE IS GRASS IN THAT PARTICULAR LOCATION if( field[cow[i][0][0]][cow[i][0][1]] == 1 ){ //LET THE COW MOVE ON TO THE NEXT LOCATION cow[i][0][0]++; //INCREMENT THE COUNT FOR THE RESPECTIVE COW count[i]++; } else //IF THERE IS NO GRASS THEN MAKE INFINTY AS 0 FOR THE PARTICULAR COW. //THE COW STOPS infinity[i] = 0; } }
/*IN THE PREVIOUS TWO LOOPS WE MADE THE COW TO MOVE TO THE NEXT LOCATION WITHOUT EATING THE GRASS, BUT ACTUALLY THE COW SHOULD EAT THE GRASS AND MOVE. THE BELOW LOOP ENSURES THAT. THIS TASK WAS SEPARTED, TO ALLLOW TO TWO COWS TO SHARE THE SAME POSITION FOR EATING.*/ for( i=0 ; i //IF THE COW IS FACING NORTH if( dir[i] == 'N'){ //IF CURRENT Y POSITION IS <= 109 if( cow[i][0][1] <= 109 ) //IF IN THE PREVIOUS Y POSITION, THERE IS GRASS if( field[cow[i][0][0]][cow[i][0][1]-1] == 1 ) //REMOVE (EAT) THE GRASS field[cow[i][0][0]][cow[i][0][1]-1]=0; } //IF THE COW IS FACING EAST if( dir[i] == 'E'){ //IF CURRENT X POS IS <= 109 if( cow[i][0][0] <= 109 ) //IF IN THE PREVIOUS X POS, THERE IS GRASS if( field[cow[i][0][0]][cow[i][0][1]] == 1 ) //REMOVE (EAT) THE GRASS field[cow[i][0][0]-1][cow[i][0][1]]=0; } }
/*ASSUME THAT ALL THE COW STOPS EATING AS THERE IS NO GRASS IN THE CURRENT CELL OR THE COW HAS REACHED THE LAST LOCATION*/ cont = 0;
//REPEAT FOR EVERY COW for( i=0 ; i //IF THE COW IS FACING NORTH if( dir[i] == 'N'){ //IF THE COW HAS NOT REACHED LAST Y LOC OR NOT STOPPED EATING if( cow[i][0][1] < 109 && field[cow[i][0][0]][cow[i][0][1]] !=0 ) cont = 1; //MAKE COUNT AS 1, THE WHILE LOOP SHOULD REPEAT } //IF THE COW IS FACING EAST if( dir[i] == 'E'){ //IF THE COW HAS NOT REACHED LAST X LOC OR NOT STOPPED EATING if( cow[i][0][0] < 109 && field[cow[i][0][0]][cow[i][0][1]] !=0) cont = 1; //MAKE COUNT AS 1 } } }
//DISPLAY THE OUTPUT for( i=0 ; i { //IF THE INFINITY VALUE OF THE RESPECTIVE COW IS 1, THEN DUSPLAY AS INFINITY if( infinity[i] == 1 ) printf("\nInfinity"); else //ELSE DISPLAY THE RESPECTIVE COUNT VALUE printf("\n%d", count[i]); }
Explanation: ICS is referred as the Incident Command System .These are the methods that are provided for the controlling of the emergency situation. These solutions work on the time of the current situation of emergency by commanding and the coordination.
The other options are incorrect because they don't provided the solution for the emergency situation at on-scene time rather work in the later time or off -site.Thus, the correct option is option(C).