It is a well-researched fact that men in a restroom generally prefer to maximize
ID: 3636823 • Letter: I
Question
It is a well-researched fact that men in a restroom generally prefer to maximize their
distance from already occupied stalls, by occupying the middle of the longest
sequence of unoccupied places.
For example, consider the situation where all ten stalls are empty.
_ _ _ _ _ _ _ _ _ _
The first visitor will occupy a middle position:
_ _ _ _ X _ _ _ _ _
The next visitor will be in the middle of the empty area at the right.
_ _ _ _ X _ _ X _ _
Given an array of bool values, where true indicates an occupied stall, find the position
for the next visitor. Your computation should be placed in a function
next_visitor(bool occupied[], int stalls)
Explanation / Answer
int next_visitor(bool occupied[], int stalls)
{
int maxlen=0, pos=-1;
for(int i=0; i<stalls; i++)
{
int len = 0;
for(int j=i; j<stalls; j++)
{
if(!occupied[i])len++;
else break;
}
if(len>maxlen){maxlen=len; pos=i;}
}
if (pos == -1) return -1; //all stalls are full
return pos+(maxlen/2);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.