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

蓝桥杯 对联【算法赛】

问题描述

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

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

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

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

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

输入格式

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

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

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

输出格式

输出一个整数表示答案。

样例输入

4
0011
1011

样例输出

3
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int main()
{
  int n;
  cin>>n;
  string n1, n2;
  cin>>n1>>n2;
  int cnt1 = 0, cnt2 = 0;
  for(int i=0; i<n; i++){
    if(n1[i] == '1'){
      ++cnt1;
    }
    if(n2[i] == '1'){
      ++cnt2;
    }
  }
  cout<< n - abs(cnt1 + cnt2 - n);
  return 0;
}

 

相关文章:

  • 仙剑奇侠传1隐藏宝箱
  • 【小派项目书】sprintboot + vue 语言实现
  • 单机游戏的工作逻辑
  • Spring IoC DI入门
  • QT-LINUX-Bluetooth蓝牙开发
  • 解释 TypeScript 中的类型保护(type guards),如何使用类型保护进行类型检查?
  • 麦肯锡外运集团企业卓越采购供应链管理体系规划(117页PPT)(文末有下载方式)
  • 阿里云平台Vue项目打包发布
  • 识别并脱敏上传到deepseek/chatgpt的文本文件中的护照信息
  • 晶鑫股份迈向敏捷BI之路,永洪科技助力启程
  • 天梯赛 L2-011 玩转二叉树
  • 使用uniapp的vite版本进行微信小程序开发,在项目中使用mqtt连接、订阅、发布信息
  • 若依(RuoYi)框架新手使用指南
  • Bilve 搭建手册
  • L2TP的LAC拨号模式实验
  • 【SpringBoot】你不能不会的SpringBoot图形验证码生成
  • 自学Python创建强大AI:从入门到实现DeepSeek级别的AI
  • bootstrap介绍(前端框架)(提供超过40种可复用组件,从导航栏到轮播图,从卡片到弹窗)bootstrap框架
  • 1688商品数据实战:API搜索接口开发与供应链分析应用
  • Linux--进程创建
  • 湖南4个县市区被确定为野生蘑菇中毒高风险区:中毒尚无特效解毒药
  • 雅典卫城上空现“巨鞋”形状无人机群,希腊下令彻查
  • 戛纳打破“疑罪从无”惯例,一法国男演员被拒之门外
  • 华东政法与复旦上医签署合作框架协议,医学与法学如何交叉融合?
  • 国防部:赖清德歪曲二战历史,背叛民族令人不齿
  • “三个集中”之后:图说浦东新区28次撤乡并镇