P10337题解

· · 题解

这道题答案只有两个

$ 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; } ```