AcWing 1875. 贝茜的报复 枚举+dfs

2023-11-17

AcWing 1875. 贝茜的报复
打卡

这题的dfs太妙了。

#include<bits/stdc++.h>
using namespace std;
#define fir(i,a,n) for(int i=a;i<=n;i++)
typedef long long ll;
const int N=1e5+10;
map<char,int>ji,ou,mp;
//存某个字母变量的奇偶个数
//mp存枚举的是奇数还是偶数 1代表奇数 2代表偶数 
int n;
string str="BESIGOM";
int ans;
//B+I G+O+E+S M
void dfs(int u,int sum)
{
	if(u==7)
	{
		if((mp['B']+mp['I'])%2&&(mp['G']+mp['O']+mp['E']+mp['S'])%2&&mp['M']%2) return;
		ans+=sum;
		return;
	}
	
	char ch=str[u];
	mp[ch]=1;dfs(u+1,sum*ji[ch]);//选这个字母的奇数 
	mp[ch]=2;dfs(u+1,sum*ou[ch]);//偶数 
}
int main()
{
	cin>>n;
	while(n--)
	{
		char ch;int t;cin>>ch>>t;
		if(abs(t)%2) ji[ch]++;
		else ou[ch]++;
	}
	
	dfs(0,1);
	cout<<ans; 
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AcWing 1875. 贝茜的报复 枚举+dfs 的相关文章

随机推荐

  • ETL为什么经常变成ELT甚至LET?

    ETL是将数据从来源端经过清洗 extract 转换 transform 加载 load 至目的端的过程 正常的 ETL 过程应当是 E T L 这三个步骤逐步进行 也就是先清洗转换之后再加载进目标端 通常是数据库 最后在数据库中的只是合理
  • Hive(7) Hive的DML语句-Hive的数据库和表的修改和删除

    Hive 3 DML语句 DML 数据操作语句 导入数据 直接从文件向表中导入数据 load data load data local inpath lt 文件路径 gt overwrite into table lt 表名 gt part
  • 内部类详解

    目录 一 什么是内部类 二 内部类的划分 2 1 实例内部类 2 2 静态内部类 2 3 局部内部类 2 4 匿名内部类 一 什么是内部类 定义 当一个事物的内部 还有一个完整的结构进行描述 而这个内部的完整的结构又只为外部事物提供服务 那
  • 递归-回溯算法

    一 递归 回溯算法 1 递归的思想 递归就是方法自己调用自己 每次调用的时候传入不同的变量 2 递归的原理 1 每执行一个方法 就在 栈内存 中分配一块空间 该空间是独立的 2 如果是 基本数据类型 则每块空间中的变量都是局部变量 是相互
  • 简单理解c语言——‘\0’ ,‘0’, “0” ,0之间的区别

    看来基础还是很重要的 基础不扎实就难以学好c语言 就别说写出高质量的c语言代码了 今天 我就被这个问题折磨的不行了 哈哈 不过现在终于明白了 0 0 0 之间的区别了 首先比较一下 0 和 0 的区别 有一个共同点就是它们都是字符 在c语言
  • 喜报

    8月16日 2023年度 IDC中国FinTech 50 榜单正式揭晓 擎创科技继2022年入选该榜单后 再次以创新者姿态成功入选 并以技术赋能业务创新 成为中国金融科技领域创新与活力的重要贡献者 IDC中国FinTech 50 旨在评选出
  • 网络安全岗位介绍——售前工程师

    一 工作内容 1 独立完成并配合销售人员引导客户完成方案设计 产品选型 配置报价和能为客户提供安全咨询与方案优化等服务 2 作为售前工程师 跟踪整个项目的进展 和销售进行配合 协调公司各种资源完成项目中标 3 编写投标文件的技术方案文档及投
  • Elasticsearch增删改查 之 —— Update更新

    Elasticsearch增删改查 之 Update更新 更新操作 一般用这个的 应该不会很多吧 ES本身还是一个倾向于查询检索的框架 对于这种更新的操作 太过频繁总归是不好的 不过阅读本篇后 你可以使用Script对所有的文档执行更新操作
  • 执行程序报错,could notcreate temporary directory ‘/tmp/poifiles‘

    could notcreate temporary directory tmp poifiles chmod R 777 tmp poifiles 重启jar包 运行命令就可以了
  • vba字典的key属性、item属性和keys方法、items方法、add方法

    1 key属性 修改字典中某一键值对的key值 2 item属性 修改字典中某一键值对的item值 3 keys方法 获取字典的所有键 4 items方法 获取字典的所有值 5 item属性 如果 key已存在 则修改其item值 如果不存
  • Jenkins之Maven的配置

    Jenkins之Maven配置与项目集成 1 Maven集成 1 1 环境准备 1 2 Jenkins的web界面配置 1 3 安装maven插件 1 Maven集成 在Jenkins上发布Java项目时需要使用Maven来进行构建打包 G
  • LLVM是如何编译指令的

    本文将会通过一条指令在LLVM中的不同阶段 从源程序语言中的语义结构到成为机器二进制码来研究LLVM的工作原理 本文不会介绍LLVM是如何工作的 这需要理解LLVM的设计以及code以及各种细节 输入代码 我们从一段C代码开始探险 如下 i
  • kali Linux-2020.3 火狐浏览器改为中文

    1 打开右上角菜单栏 进行下图操作 2 更改语言这里 支持下拉框选择 如果没有中文选项 进行搜索下载 图中为以更新中文后的 英文状态下位置应该是一样的 3 在搜索语言里找到中文 点击添加 添加成功后会提示 应用并重新打开 点击这个选项重新打
  • Linux调试、跟踪命令:strace/ltrace、ldd、objdump、nm、strings

    一 strace ltrace 1 1 功能 strace Trace system calls and signals 跟踪进程的系统调用或信号产生的情况 ltrace A library call tracer 跟踪进程调用库函数的情况
  • Android上面的百度地图使用步骤

    1 下载百度地图移动版API Android 开发包 要在Android应用中使用百度地图API 就需要在工程中引用百度地图API开发包 这个开发包包含两个文件 baidumapapi jar和libBMapApiEngine so 下载地
  • Swagger 的使用

    文章目录 Swagger 的使用 前言 Swagger 简介 SpringBoot 集成 Swagger 2 x SpringBoot 集成 Swagger 3 0 配置 Swagger 配置文档信息 配置扫描接口 配置功能是否启动 配置
  • scrapy,scrapy-redis显示:什么都没爬取到:Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)

    解决方法一 问题 刚开始爬取有 但是后面都是Crawled 0 pages at 0 pages min scraped 0 items at 0 items min 解决 可能是里面没有设置 yield scrapy Request do
  • 在Ubuntu 14.04.2 LTS上安装Qt

    Qt是一个跨平台的应用程序框架 广泛用于开发具有GUI界面的应用软件以及命令行工具 几乎所有操作系统都可以使用Qt 如Windows Mac OS X Android等 用于开发Qt应用程序的主要编程语言是C 但是可以使用诸如Python
  • 1.12mc java几,1.12 - 崩溃解答 - MC百科社群 - MC百科

    游戏是在mcbbs上找的the disguiser Mohist 崩溃报告 WARNING coremods are present ForgelinPlugin Forgelin 1 8 3 jar Inventory Tweaks Co
  • AcWing 1875. 贝茜的报复 枚举+dfs

    AcWing 1875 贝茜的报复 打卡 这题的dfs太妙了 include