Atcoder Beginner Contest 295

2023-10-29

A - Probably English

AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=110;
string s[N];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>s[i];
    bool flag=false;
    for(int i=1;i<=n;i++){
        if(s[i]=="and"||s[i]=="not"||s[i]=="that"||s[i]=="the"||s[i]=="you"){
            flag=true;
            break;
        }
    }
    if(flag) puts("Yes");
    else puts("No");
     return 0;
}

B - Bombs

数据非常的小,直接纯模拟,用四重循环,从头开始遍历,如果遇到炸弹,就遍历所有的格子,看是否能被炸弹炸到

AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
const int N=50;
char a[N][N];
char b[N][N];
int main()
{
    int h,w;
    cin>>h>>w;
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            b[i][j]=a[i][j];
        }
    }
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            if(a[i][j]>='0'&&a[i][j]<='9'){
                int num=a[i][j]-'0';
                for(int m=1;m<=h;m++){
                    for(int n=1;n<=w;n++){
                        if(abs(m-i)+abs(n-j)<=num){
                            b[m][n]='.';
                        }
                    }
                }
            }
        }
    }
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            cout<<b[i][j];
        }
        cout<<endl;
    }
    return 0;
}

C - Socks

这题就是两两颜色一样的进行配对

用map记录每种颜色的次数,然后每种颜色的次数/2全部加起来

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
using namespace std;
map<int,int>mp;
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        int x;
        cin>>x;
        mp[x]++;
    }
    int res=0;
    for(auto v:mp){
        res+=v.second/2;
    }
    cout<<res<<endl;
    return 0;
}

D - Three Days Ago

大致题意是在某个区间中所有数字的的个数都是偶数,问有几个这样的区间

前置知识: 

1<<4表示将1的二进制表示左移4位(每左移一位则在原来的数后面加一个0,相当于乘2),得到16

1<<x:其中x是字符串上的数字字符所对应的数字,比如说某个字符为4,那么1<<4就变成了10000,对应的十进制即为16,100000就代表了数字4的次数是奇数次,比如说下一个数字还是4,state为100000,那么state^=100000,state就等于000000,此时1<<4的那一位变成了0,就代表数字4的次数为偶数

state一开始是0,表示每个数的次数都是偶数次(0就是偶数嘛),然后一步一步进行异或操作表示到某一步的每个数的次数是奇数还是偶数

一开始初始化二进制序列000000000为1,因为当第一次出现有一个序列全是偶数的时候,就需要res加上它前面的二进制序列为0000000的个数,即为1

异或(^)==>相同为0,不同为1(0代表偶上次,1代表奇数次,刚好对应了偶数加偶数为偶数,奇数加奇数为偶数,奇数加偶数为奇数)

具体做法:

对于字符串s,我们一位一位遍历,然后每次得到一个数字,然后它的次数每次都是加1,这样的话,我们就得到了每走一步(表示一步一步的进程)的所有数字(0到9)是奇数次还是偶数次所组成的二进制序列,如果在某一步,它所组成的二进制序列和前面有相同的话,那么就说明该步和前面某步的每个数的要么都是偶数次,要么都是奇数次,那么从开始到现在的区间减去和开始到某点的区间的每个数就都是偶数次,它们之间的区间就满足要求,如果前面有n个同样的二进制序列,那么之间就有n个满足要求的区间

AC代码: 

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
#define int long long
using namespace std;
map<int,int>mp;
int state;
signed main()
{
    string s;
    cin>>s;
    mp[0]=1;
    int n=s.size();
    int res=0;
    for(int i=0;i<n;i++){
        state^=(1<<(s[i]-'0'));
        res+=mp[state];//加上前面已经出现过的相同的二进制序列的次数
        mp[state]++;//该二进制序列次数加一次
    }
    cout<<res<<endl;
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Atcoder Beginner Contest 295 的相关文章

  • Combox SelectedIndexChanged 关闭 WinForm 时触发

    我正在使用 Combobox SelectedIndexChanged 事件来执行一些任务 它工作得很好 但是当我关闭表单时 SelectedIndexChanged 被触发 并且我得到 对象引用未设置到对象的实例 例外 我的代码如下 pr
  • 通过 Active Directory 搜索进行有效分页

    在 NET 中使用 Active Directory 搜索进行分页的有效方法是什么 在 AD 中进行搜索的方法有很多 但到目前为止我找不到如何有效地进行搜索 我希望能够表明Skip and Take参数并能够检索结果中与我的搜索条件匹配的记
  • Qt 5 和 QProcess 使用信号/槽 read 重定向标准输出

    这个问题困扰着我 因为它应该有效 但遗憾的是它没有 我试图实现的是读取某个进程的标准输出并让另一个进程处理它 即打印出来 产生输出的过程如下所示 include
  • VS Code:自定义关键字的注入语法范围在 C++ 中被覆盖

    我想制作一个小型 VS Code 扩展 为 C C 代码中的少数自定义关键字添加语法突出显示 我正在尝试通过注入语法来做到这一点source c and source cpp语言范围 遵循VS Code 语法高亮指南 https code
  • 使用 C# 在 Windows 窗体应用程序中正确使用 OnClick 与 MouseClick 事件

    我目前正在开发一个自定义控件 并意识到我的代码正在运行两次 这实际上并不是一个大问题 它只是 Focus 方法调用 不过 我想了解一下 从阅读点击 MSDN说明单击事件 http msdn microsoft com en us libra
  • 未定义的参考错误 - rand

    我正在创建一个命令行 C 测试应用程序 可执行 以便在我的 root Android 设备上运行 该可执行文件使用多个预构建的 C 库 其中之一使用 rand 在链接状态期间我收到错误 rand 的未定义引用 为了检查路径是否设置正确 我尝
  • C# 3 新功能帖子(与 .Net 3.5 功能无关)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions Net F
  • 获取在 Unity 中实现接口的所有类型

    如果您只想知道解决方案 请跳至更新 我有一个应用程序 它使用以下代码来获取并运行许多工作方法 var type typeof IJob var types AppDomain CurrentDomain GetAssemblies Sele
  • 如何直观理解C++优先级队列容器比较器中的大于/小于运算符

    我总是对为优先级队列容器定义比较器感到困惑 并且不知道如何理解它 例如 我有一个vector of pair
  • 如何使用 VB.NET 或 C#.NET 代码从 yahoo 邮件 ID 发送邮件

    我想从我的 yahoomail Id 发送邮件 如何使用 VB NET 或 C NET 代码从 yahoo mail Id 发送邮件 需要善意的帮助 提前谢谢 西瓦库马尔 以下是一些制作基本 html 电子邮件消息的示例 http help
  • 隐藏树视图列表中的节点。在 C# 中

    我正在使用 VS 2005 C 正在处理一个未完成的 WinForm 我已将 XML 解析为树视图列表 但遇到了一些问题 我想知道是否有一种方法可以隐藏 过滤 删除名称中包含 this text 的某个节点 而不必依赖文本框 这就是我对这个
  • ASP.NET MVC - HybridViewResult (ViewResult /PartialViewResult)

    是否可以构建一个依赖于 Ajax 请求或 Http 请求返回的混合 ViewResultPartialViewResult or ViewResult IsAjaxRequest gt 返回 PartialViewResult IsAjax
  • 当 MSB 位等于 0 时如何以十六进制格式打印它们

    我需要使用打印变量HEX格式 问题是当我的变量很小时 MSB 等于 0 因此不会打印它们 ex uint16 t var 10 0x000A h gt 我需要打印 000A 但无论我做什么它总是打印 A 我怎样才能让它发挥作用 您可以添加前
  • 如何将 Activator.CreateInstance 与字符串一起使用?

    在我的反射代码中 我的通用代码部分遇到了问题 特别是当我使用字符串时 var oVal object Test var oType oVal GetType var sz Activator CreateInstance oType oVa
  • std::regex 的行为不一致

    我有以下问题 std regex如果我传递结果 行为会有所不同boost filesystem path string vs 将结果存储在中间字符串变量中 第一个将返回一个被截断的匹配 并且稍后不被接受std stoull 抛出 inval
  • 如何在调试时轻松查看事件订阅数量?

    在调试时 我可以查看一下textBox1 TextChanged查看事件订阅数量 如果是 那么我该如何钻取它 我需要知道在给定时间有多少订阅进行调试 因为看起来一个事件被多次触发 但我怀疑这个错误确实是因为textBox1 TextChan
  • cygwin $'\r':命令未找到错误

    我稍微修改了一个项目 在调试下它运行得很好 当我尝试在不调试的情况下构建它时 它显示错误 无法修复它 make Making all in third party make 1 Entering directory cygdrive c U
  • C# 多重继承

    目前我正在学习 C 和 ASP NET MVC 4代码优先方法 我是 Visual Basic 开发人员 现在我想开始 C 而且 现在我遇到了必须管理多重继承的情况 但是 对于Class i来说这是不可能的 那么 我应该如何管理我拥有的这些
  • 使用抽象类作为模板类型

    我对c 还是很陌生 来自java 我有一个 stl 类型列表Actor When Actor仅包含 真实 方法就没有问题 我现在想将这个类扩展到几个类 并且需要将一些方法更改为抽象的 因为它们不再具有具体的意义 正如我 从文档中 预期的那样
  • qt 如何知道按钮被点击?

    我正在尝试编写一个程序 用声音进行一些操作 我的问题是我有 3 个播放按钮和 3 个标签 我希望无论我单击 播放 按钮 都应该播放按钮附近标签中名称的声音 我有一个没有任何参数的播放插槽 那么 如何分别连接到每个播放按钮和每个标签呢 实际上

随机推荐

  • conda install 和 pip install的区别

    目录 前言 一 范围不同 二 使用条件不同 三 对虚拟环境的管理能力不同 四 可使用包的数量不同 前言 conda和pip一般被认为是几乎相同的 但这两个工具虽然功能存在部分重叠 但其设计的目的是不同的 一 范围不同 Anaconda是一个
  • PCA、聚类、LFDA 和 MDS 相关绘图 iris (R语言)

    本文档使用 ggplot2 和解释了 PCA 聚类 LFDA 和 MDS 相关绘图 ggfortify 绘制 PCA 主成分分析 ggfortify 让我们 ggplot2 知道如何解释 PCA 对象 加载后 ggfortify 您可以gg
  • SpringBoot2的异常处理、Aop(事务)、拦截器

    目录 一 异常处理 一 ControllerAdvice ExceptionHandler 注解处理异常 二 自定义 HandlerExceptionResolver 类处理异常 二 事务Aop的相关使用 主要说明事务的使用方式 一 事务的
  • 项目安全问题-SM4加解密

    本篇建议与下方链接文章一起观看 http t csdn cn tjmeS 项目安全问题一直被人们研究 当前端路径上通过 status这种拼接参数时 参数的值在浏览器路径栏上非常醒目 是很容易被人恶意修改的 比如该用户并没有编辑权限 但有心之
  • 启动tomcat 服务报 The file is absent or does not have execute permission

    原因 部分文件没有可以执行的权限 1 在linu上部署好tomcat后 准备启动时报错 Cannot find bin catalina sh The file is absent or does not have execute perm
  • Linux自动化运维工具ansible详解

    文章目录 认识ansible ansible的组成 ansible的相关文件 ansible的使用 ansible的常用模块 1 copy模块 2 fetch模块 3 command模块 4 shell 模块 5 file模块 6 cron
  • 域用户访问samba共享提示“指定的网络密码不正确”

    samba默认工作组为WORKGROUP 导致windows无法访问 提示 指定的网络密码不正确 为了解决这个问题 只需要删除注册表中的一项就可以了 win r 输入regedit 回车 找到HKEY LOCAL MACHINE SYSTE
  • 单片机基础

    今天 我给大家更新一个新的模块 单片机 单片机是一个将运算单元 ALU 控制单元 寄存器组 存储器 ROM RAM I O接口 系统总线 定时 计数器集成一起 是一种集成电路芯片 在一块集成电路芯片上 集成了CPU ROM RAM I O接
  • 扯一扯HTTPS单向认证、双向认证、抓包原理、反抓包策略

    HTTP HyperText Transfer Protocol 超文本传输协议 被用于在Web浏览器和网站服务器之间传递信息 在TCP IP中处于应用层 这里提一下TCP IP的分层共分为四层 应用层 传输层 网络层 数据链路层 分层的目
  • 染色法判定二分图 — DFS深搜 +BFS宽搜

    染色法判定二分图 DFS深搜 题目描述 给定一个 n n n 个点 m m m 条边的无向图 图中可能存在重边和自环 请你判断这个图是否是二分图 输入格式 第一行包含两个整数
  • linux删除文件夹下所有文件

    看到了一遍文章 便突发奇想的想起Linux中删除目录下的所有文件的方法 整理了几个 如有不足 还望读者不吝赐教 删除当前目录下的文件 1 rm f 最经典的方法 删除当前目录下的所有类型的文件 2 find type f delete或fi
  • 为什么运放输入端串联一个隔直电容后输出没有波形?------关于隔直电路的简要理解

    文章目录 前言 一 常见的错误隔直电路 二 正确的隔直电路 前言 在看实验室学弟做电路的时候 他们单片机输出的正弦波要经过一个用NE5532做的跟随器 这里单片机产生的正弦波自带1 8V的直流偏置 测试发现 这里的偏置会严重影响NE5532
  • Micropython应用篇一--下载文件到F407VE Black开发板及开发板启动Flash选取

    Micropython应用篇一 下载文件到F407VE Black开发板及开发板启动选取 各位客官老爷们 咱又见面了 本来准备直接上例程来着 但由于怕各位老爷们对STM32的熟悉程度不一致 所以来一篇关于程序烧录及开发板启动 25Q128
  • 关于select中DISTINCT的技巧和使用

    偶然在一个论坛看到了一个关于DISTINCT的技巧和用法 是一个版主写的 觉得可能会对一些人有帮助 所以转载而来 方便大家 以下是转载内容 单表的唯一查询用 distinct多表的唯一查询用 group by在使用mysql时 有时需要查询
  • Windows下安装Python

    Python环境的配置 Windows 1 打开Python官网 Python官网 2 点击Downloads 3 点击Windows 来到如下界面 4 任选一个版本 点进去 拉到最底部 选择带有 Windows installer 的项进
  • Matlab统计分析-相关系数

    统计分析 相关系数 相关系数 pearson与spearman 皮尔逊 person相关系数和斯皮尔曼spearman等级相关系数 它们可用来衡量两个变量之间的 线性 相关性的大小 根据数据满足的不同条件 我们要选择不同的相关系数进行计算和
  • DB2-GPFS(General Parallel File System)并行文件系统简叙、安装使用及DB高可用

    DB2 Spectrum Scale GPFS 并行文件系统简叙 安装使用及DB高可用 这篇介绍GPFS概念 使用场景 以及用GPFS实现DB2高可用配置过程 IBM Spectrum Scale 老名称GPFS General Paral
  • 第十一章 Sentinel⾃定 义异常-整合Open-Feign

    异常种类 FlowException 限流异常 DegradeException 降级异常 ParamFlowException 参数限流异常 SystemBlockException 系统负载异常 AuthorityException 授
  • Linux 学习笔记之开启SSH服务

    SSH分客户端openssh client和openssh server 如果你只是想登陆别的机器的SSH只需要安装openssh client ubuntu有默认安装 如果没有则sudo apt get install openssh c
  • Atcoder Beginner Contest 295

    A Probably English AC代码 include