48求助
查看原帖
48求助
1209037
ProgrammingCat楼主2024/5/18 14:51
#include<bits/stdc++.h>
using namespace std;
int sum_1,sum_2,n,answer;
int jl[10009];
vector<int>second,third;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		scanf("%d",jl+i);
		if(jl[i]==1){sum_1++;}
		else if(jl[i]==2){sum_2++;second.push_back(i);}
		else third.push_back(i);
	}
	int ts=0,ss=0;
	for(int i=1;i<=sum_1;i++){
		if(jl[i]==2){
			answer++;
			swap(jl[i],jl[ss]);
			ss++;
		}
		if(jl[i]==3){
			answer++;
			swap(jl[i],jl[ts]);
			ts++;
		}
	}
	for(int i=sum_1+1;i<=sum_1+sum_2;i++){
		if(jl[i]==3){
			answer++;
			swap(jl[i],jl[ts]);
			ts++;
		}
	}
	cout<<answer;
	return 0;
}

2024/5/18 14:51
加载中...