开个数组记录每次输入后牛的状态,并初始化为3,这样就能在输入这头牛在马路哪边的时候判断是否是第一次输入,若第一次输入,则将数组更新为牛的状态,但ans不加,之后再次输入的状态只有与数组记录的状态不同时,ans才会加1,最后输出ans就行了。
C++ 代码
#include <iostream>
using namespace std;
int n, ans;
int f[11];
int main(int argc, char* argv)
{
for (int i = 1; i < 11; i++)f[i] = 3;
cin >> n;
while (n--)
{
int a, b;
cin >> a >> b;
if (f[a] == 3) { f[a] = b; continue;}
if (f[a] != b) { f[a] = b; ans++; }
}
cout << ans;
return 0;
}