当前位置: 首页> 汽车> 车展 > 广告开户南京seo_开个游戏服务器要多少钱_网站设计方案模板_市场营销手段13种手段

广告开户南京seo_开个游戏服务器要多少钱_网站设计方案模板_市场营销手段13种手段

时间:2025/7/11 0:32:15来源:https://blog.csdn.net/zqystca/article/details/145523837 浏览次数: 0次
广告开户南京seo_开个游戏服务器要多少钱_网站设计方案模板_市场营销手段13种手段

2.对联【算法赛】 - 蓝桥云课

问题描述

大年三十,小蓝和爷爷一起贴对联。爷爷拿出了两副对联,每副对联都由 N 个“福”字组成,每个“福”字要么是正的(用 1 表示),要么是倒的(用 0 表示)。

爷爷说:“小蓝啊,这两副对联可以随意调整‘福’字的顺序。我们要让上下联的‘福’字对应位置的‘福气值’达到最大。‘福气值’的计算方法是:正正相对得 0,正倒相对得 1,倒正相对得 1,倒倒相对得 0。”

小蓝挠了挠头:“爷爷,这不就是二进制异或运算吗?”

爷爷笑着点点头:“没错!现在给你两串‘福’字的初始排列,你能算出通过最优调整后,最大的总福气值是多少吗?你只需要告诉爷爷最大的总福气值在二进制情况下 1 的个数即可。”

小蓝感觉略微有点困难,于是请你帮忙解决这个问题。

输入格式

第一行输入一个整数 N(1≤N≤1e3),表示每幅对联中“福”的数量。

第二行输入一个长度为 N 的 01 字符串 S 表示第一幅对联的初始排列。

第三行输入一个长度为 N 的 01 字符串 T 表示第二幅对联的初始排列。

输出格式

输出一个整数表示答案。

样例输入

4
0011
1011

样例输出

3

思路:

以最多的0对应最多的1.

代码如下:

#include <iostream>
#include<string> 
using namespace std;
int main()
{string s1,s2;int n,zero_f = 0,zero_s = 0,one_f = 0,one_s = 0;cin >> n >> s1 >> s2;for(int i = 0 ; i < s1.size() ; i++){if(s1[i] == '1')zero_f++;if(s1[i] == '0')one_f++;}for(int i = 0 ; i < s2.size() ; i++){if(s2[i] == '1')zero_s++;if(s2[i] == '0')one_s++;}// cout << zero_f << " " <<  one_f << endl;// cout << zero_s << " " <<  one_s << endl;int cnt = 0;cnt = min(zero_f,one_s) + min(zero_s,one_f);cout << cnt;return 0;
}

关键字:广告开户南京seo_开个游戏服务器要多少钱_网站设计方案模板_市场营销手段13种手段

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: