A29561. 逆行
填空题
较易
知识点
题目描述
逆行
题目描述
网上有个段子说:妻子在家听广播,听到某高速路上有一辆车在逆行,想到丈夫在那条高速上行驶,就打电话对丈夫说:“老公啊,你走的那条高速上有一辆车在逆行,你小心点。”她丈夫说:“何止啊!我看好几百辆车都在逆行!”
现在我们查了一下高速公路上拍到的好几百辆车的时速,发现有的朝东开,有的朝西开,都不知道是谁在逆行了…… 于是让我们简单粗暴地解决这个问题:朝哪个方向开的车多,哪个方向就是正确的,另一方就判为逆行(开玩笑的千万嫑当真)。现在就请你统计一下,有多少辆车是逆行的。
时间限制:1000
内存限制:65536
输入
输入第一行给出一个正整数 N,为高速公路上拍到的车辆数,题目保证这是一个不超过 1000 的奇数。第二行给出 N 个整数,为每辆车的时速。我们用正数表示朝东开的时速,负数表示朝西开的时速。题目保证时速(绝对值)均不超过 200,并且时速没有 0,即没有一辆车是停在高速公路上不动的。
输出
在一行中输出逆行的车辆数。
样例输入
7
85 -90 110 95 112 -120 -70样例输出
3参考答案
#include <bits/stdc++.h>
using namespace std;
int main() {
int N;
cin>>N;
int dong=0; //朝东开的车数量
int xi=0; //朝西开的车数量
for(int i=0;i<N;i++){
int a;
cin>>a;
if(a>0) dong++; //如果为正数,则朝东开的车数量加1
else if(a<0) xi++; //如果为负数,则朝东开的车数量加1
}
if(dong>xi) cout<<xi; //如果朝东开的车大于朝西开的车,则输出朝西开的车数量
else if(dong<xi) cout<<dong; //如果朝东开的车小于朝西开的车,则输出朝东开的车数量
return 0;
}
上一题
下一题