## Solution:

Let $a$ be the number of people from city $A$, $b$ be the number of people from city $B$, $c_{a}$ be the number of people from city $C$ who alternate between truth and lies, and $c_{m}$ be the number of people from city $C$ who alternate between lies and truth. Then $a+b+c_{a}+c_{m}=100$. The answer "Yes" to the first question "Are you from city $A$?" was given by the people from city $A$, $B$, and those from $C$ who alternate between lies and truth. Thus, $a+b+c_{m}=60$. We obtain $c_{a}=40$. The answer "Yes" to the second question "Are you from city $C$?" was given by the people from city $B$ and those from $C$ who alternate between truth and lies. Thus $b+c_{a}=45 \Rightarrow b=5$. The answer "Yes" to the third question "Are you from city $B$?" was given by those from city $C$ who alternate between lies and truth $\Rightarrow c_{m}=37$. It follows that $a=18$.

Answer: 18 people are from city $A$, 5 people are from city $B$, and 77 people are from city $C$ (of which 40 alternate between truth and lies, and 37 alternate between lies and truth).
7.1. On a steamship, 100 people met, each being a citizen of one of the cities $A, B$, or $C$. Each citizen of city $A$ always tells the truth, each citizen of city $B$ always lies, and each citizen of city $C$ tells the truth after every lie and lies after every truth, but it is not known how they start. The captain of the steamship, wanting to find out how many citizens are from each city, asked all 100 people three questions. To the first question "Are you from city A?" 60 people answered affirmatively. To the second question "Are you from city C?" 45 people answered affirmatively, and to the third question "Are you from city B?" 37 people answered affirmatively. Determine the number of citizens from each city and how many people from city $C$ told the truth, answering the first question.