男可以用1表示,女用0表示
01的数量一样,比较谁在奇数位更优
01的数量不一样,多的一定在奇数位
注:题目并没有说,给出的n个学号一定是在[1,n]的范围内
#include<bits/stdc++.h> using namespace std; #define ll long long int const N=1e6+7; int n,cntj,x,y,ans; int a; int main(){ cin >> n; for(int i=1;i<=n;++i){ cin >> a; if(a&1){ cntj++; if(i&1) x++; else y++; } } if(cntj*2==n) ans=min(x,y); else if(cntj*2<n) ans=x; else ans=y; cout << ans; return 0; }