ZZULIOJ--2838: 小豪的室友

题目描述

众所周知,小豪是个学习很刻苦的同学,这主要得益于小豪有个学霸级的室友小轩,小轩不仅是小豪的室友,更是小豪的班长,有一天小轩和小豪在讨论量子力学和复变函数的相关知识,小轩突然发现自己书架上的n本书只有黑色和白色两种颜色,并且排列在一行上,他想把这两种颜色的书交错排列在一排。他有两种方法可以操作:
1.对书架上的任意两本书进行调换位置
2.从小豪那里任取一本黑色或白色的书来替换书架上的任意一本书。
问小轩至少需要多少次操作,可以让书架上的书颜色交错。

(注意:小轩非常有钱,所以他的书架可以无限长。小豪非常爱学习,所以他有无数本黑色和白色的书)
 

输入

第一行一个整数n,表示小轩书架上的书个数。(0<=n<=1e5)
第二行一个字符串s,表示小轩每本书的颜色。
字符'w'代表白色,'b'代表黑色 (保证字符串中只有w和b)

输出

一个数字,表示小轩最少的操作次数。 

样例输入 Copy

4
wbbw

样例输出 Copy

1

 方便回顾~侵删

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
char s[100010];
int main()
{
	int n,len;
	cin>>n>>s;
	int f1,f2,sum1,sum2;
	f1=f2=sum1=sum2=0;
	len=strlen(s);
	for(int i=0;i<len;i++)
	{
		if(s[i]=='w')
		{
			if(i&1)f1++;
			else f2++;
		}
		else
		{
			if(i&1)sum1++;
			else sum2++;
		}
	}
	int ans=min(max(f1,sum2),max(sum1,f2));
	cout<<ans<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/with_wine/article/details/121218688