当前位置: 首页 > news >正文

第 26 场 蓝桥入门赛

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

http://www.lryc.cn/news/533624.html

相关文章:

  • 组合(力扣77)
  • 网络工程师 (22)网络协议
  • Linux之文件IO前世今生
  • 如何在Windows中配置MySQL?
  • Kafka 入门与实战
  • 数学知识学习1
  • 【AI日记】25.02.08
  • Lecture8 | LPV VXGI SSAO SSDO
  • Java中实现定时锁屏的功能(可以指定时间执行)
  • Java集合List详解(带脑图)
  • [实验日志] VS Code 连接服务器上的 Python 解释器进行远程调试
  • (14)gdb 笔记(7):以日志记录的方式来调试多进程多线程程序,linux 命令 tail -f 实时跟踪日志
  • Sentinel的安装和做限流的使用
  • 四柱预测学
  • 【个人开发】macbook m1 Lora微调qwen大模型
  • sqli-labs靶场实录(二): Advanced Injections
  • Linux系统 环境变量
  • 机器学习-线性回归(最大似然估计)
  • 【信息系统项目管理师-案例真题】2017上半年案例分析答案和详解
  • CSP晋级组比赛生成文件夹与文件通用代码Python
  • 正则表达式进阶(二)——零宽断言详解:\b \B \K \z \A
  • Android 中实现 PDF 预览三种方式
  • 尚硅谷课程【笔记】——大数据之Zookeeper【二】
  • CodeGPT + IDEA + DeepSeek,在IDEA中引入DeepSeek实现AI智能开发
  • postgresql 游标(cursor)的使用
  • 计算机组成原理——指令系统(六)
  • Python设计模式 - 原型模式
  • 金和OA C6 DownLoadBgImage任意文件读取漏洞
  • 【stm32学习】STM32F103实操primary(FlyMCU)
  • 如何将Excel的表格存为图片?