P10337题解
ZY_jiang
·
·
题解
这道题答案只有两个
$ 2 $ $ : $ $ n-1 $ $ ( $ 队列中有一个及以上个数与第一个数不相等$ )$。
所以只用遍历一遍,看有没有数与第一个不相等。
$ 1 $ 有就打上标记,然后输出 $ n-1 $ 。
$ 2 $ 没有就输出 $ n $ 。
### Code:
```cpp
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+5;
ll T,n;
ll a[N];
bool flag;
int main()
{
cin>>T;
while(T--){
cin>>n;
flag=false;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[1]!=a[i]) flag=true; //看有没有数与第一个不相等
}
if(flag==true) cout<<n-1<<endl; //队列中有一个及以上个数与第一个数不相等
else cout<<n<<endl; //队列中所有数与第一个相等
}
return 0;
}
```