奶牛过马路(crossroad)
【问题描述】
FJ 希望能够详细的记录下他的每头奶牛在一段时间里穿越马路的次。他在一天里进行了N次观察并记录下奶牛所在地的数据,每个观察记录包含一头奶牛的ID号(在 1 - 10范围内的整数,因为农民约翰有 10头奶牛),以及牛在哪一边的道路上。
根据 FJ 记录的数据,请帮他统计奶牛总共过了多少次马路。当一头奶牛连续出现在道路的不同两侧时,就认为过了一次马路。
【输入格式】 (crossroad.in)
第一行一个整数 N,(0<n<=100)。
接下来 N 行,每行包含一个观察记录,由两个数组成,第一个数表示牛的ID号,第二个数为 0或1,表示路的两侧(路的一边为 0,另一边为 1)。
【输出格式】(crossroad.out)
输出奶牛的过马路总次数。
【输入样例】
8
3 1
3 0
6 0
2 1
4 1
3 0
4 0
3 1
【输出样例】
3
样例解释,奶牛 3 过了 2 次马路——她先出现在第 1 侧,然后出现在第 0
侧,然后稍后又出现在第 1侧。奶牛4定过马路 1次。奶牛2和6没有过马路。
慢慢判断(哦)。
上代码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include<bits/stdc++.h>
using namespace std;
int n,a[15]={2},h,b,ans;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>h>>b;
b++;
if(a[h]!=b)
{
if(a[h]!=0) ans++;
a[h]=b;
}
}
cout<<ans;
return 0;
}
欢迎参考