1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Elis [28]
3 years ago
8

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.

Computers and Technology
1 answer:
uranmaximum [27]3 years ago
4 0
//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]);
}

getch();
return 0;
}
You might be interested in
Assume that your body mass index (BMI) program calculated a BMI of 20.6. What would be the value of category after this portion
vladimir1956 [14]

Answer:

normal is the answer

8 0
3 years ago
Read 2 more answers
What is the value of x after each of the following statements is encountered in a computer program, if x=1 before the statement
steposvetlana [31]

Answer:

x=2

x=1

x=2

Explanation:

a)

This if statement if (1+2=3) checks if the addition of two numbers 1 and 2 is true. Here the addition of 1 and 2 is 3 which is true. So the condition becomes true.

Since the condition is true x:=x+1 statement is executed. This statement means that the value of x is incremented by 1.

The value of x was 1 before the if statement is reached. So x:=x+1 statement will add 1 to that value of x.

x:=x+1 means x=x+1 which is x=1+1 So x=2

Hence value of x is 2 (x=2) after the execution of x:=x+1

b)

In statement b the value of x will be 1 because both the mathematical operations in the if statement evaluate to false.

which means in b, x:=x+1 will not be executed and value of x remains unchanged i.e x=1

In (c) the value x will be 2 because the condition in the if statement is true. Both mathematical expressions 2+3=5 and 3+4=7 are true. Therefore x:=x+1 will be executed and value of x will be incremented by 1. Hence x=2

5 0
3 years ago
Sarah stores data electronically.
attashe74 [19]

Answer:

Always back up your data. Prevention is the best protection.

Diversify your backups. You always want more than one backup system.

Encrypt sensitive data. Data is not always encrypted even when it's on a backup tape.

Address data security.  

Use anti-virus and email security.  

Trust the professionals

Explanation: <u>HOPE IT HELPS YOU</u>

3 0
3 years ago
Luis got himself in trouble by accidentally sending an e-mail to a client instead of his coworker. He resolved to be more carefu
Elodia [21]

Answer:

Explanation:

There are two main practices that Luis needs to make into a habit of doing every time he sends an e-mail, these are

  • Being careful when using the Reply to All feature.
  • Double-checking the Cc and Bcc fields.

Taking into account both of these practices will make sure that Luis is sending the written e-mail to the correct individual's address and also making sure that he is not sending the e-mail to any other individual by accident when using the Reply to All feature.

7 0
3 years ago
What might a programming prefer the top-down approach to programming design?
navik [9.2K]

Top down program design is an approach to program design that starts with the general concept and repeatedly breaks it down into its component parts. In other words, it starts with the abstract and continually subdivides it until it reaches the specific. Consider creating the prime factorization of a number like 1540. The steps involved might look like:

1540

2 x 770

2 x 2 x 385

2 x 2 x 5 x 77

2 x 2 x 5 x 7 x 11

Top down program design works the same way. We start with the overall objective and wind up with a series of steps needed to accomplish it.

3 0
4 years ago
Other questions:
  • What statement needs to be included below to retrieve all rows from the Invoices table with InvoiceTotal greater than 100?
    9·1 answer
  • What is the red wavy underline beneath the text
    7·1 answer
  • When does the VB.NET programming environment start to operate?
    10·1 answer
  • Uploading is the process of transferring existing content stored on a server or other computer or device to your device via a ne
    8·1 answer
  • User authentication is a procedure that allows communicating parties to verify that the contents of a received message have not
    12·1 answer
  • A network technician is setting up a web server for a small company. The company has obtained a domain name, company-a, from a d
    11·1 answer
  • Henry is having a problem with the electrical system on his current laptop. The battery for the laptop will not charge. Henry to
    13·1 answer
  • Is a tv a
    6·1 answer
  • How do I get the bot token for discord? (scripting etc)
    5·1 answer
  • Generally speaking, what is a “best practice"?
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!