Marvin

Marvin

  • 1.6k
  • 4
  • 520

How to solve this question in C++ Please!

Dec 17 2023 8:49 AM

So here's this question that I ran through while during my daily practice:

Farmer John has N cows in a line (1≤N≤3⋅10^5). Unfortunately, there is a sickness spreading throughout. Initially, some cows start off infected. Every night, an infected cow spreads the sickness to the cows on their left and right (if they exist). Once a cow is infected, she stays infected. After some amount of nights, Farmer John realizes that the issue has gotten out of control, so he tests his cows to determine who has the sickness. Find the minimum number of cows that could have started with the sickness.

INPUT FORMAT:

The first line contains N, the number of cows that Farmer John has.

The next line contains an N character bitstring of only 1s and 0 s where a 1 represents an infected cow and a 0 represents an uninfected cow after some number of nights.

OUTPUT FORMAT:

Output a single integer: the minimum number of cows that could have started with the sickness.

SAMPLE INPUT:

5

11111

SAMPLE OUTPUT:

1

Suppose the middle cow was the only cow to start off infected. Then the cows would be infected in the following order:

0 nights:      00100 (the third cow is initially infected)

1 night:01110 (the second and fourth cows are now infected)

2 nights:11111 (the first and fifth cows are now infected)

3 nights:11111 (all cows already were infected, so no additional cows are infected)

After two or more nights, the final state of the cows would look like the input. There are many other initial states and number of nights that could have produced the input state, such as:

0 nights:    10001

1 night:11011

2 nights:11111

or:

0 nights:01001

1 night:11111

or:

0 nights:01000

1 night:11100

2 nights:11110

3 nights:11111

All of these initial states contain at least one infected cow.

 

SAMPLE INPUT:

6

011101

SAMPLE OUTPUT:

4

The only initial state and number of nights that could have led to this final state is if no nights have passed and each of the four infected cows in the input started off with the sickness.

 

SCORING:

  • Inputs 3-7: N≤1000
  • Inputs 8-12: No additional constraints.


I've tried finding a thought or a concept of how I would create the solution, but I had no idea. I think I can only solve the reversal of the problem :( Please help me! I'm the type of person that has to solve the problem when I see it, so thank you!


Answers (1)