1596 - Bug Hunt (UVA)

题目链接如下:

https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=448&page=show_problem&problem=4471

我的代码如下:

#include <iostream>
#include <string>
#include <map>
// #define debugstruct arr{int len;std::map<int, int> mp;
};
std::string s;
int bug;
std::map<std::string, arr> arrMp;bool validJudge(std::string &str, int &value){if (str.find("[") == std::string::npos){value = std::stoi(str);return true;}int left = str.find("[");int right = str.rfind("]");int v;std::string temp1, temp2;temp1 = str.substr(left + 1, right - left - 1);temp2 = str.substr(0, left);if (!validJudge(temp1, v) || arrMp[temp2].len <= v || arrMp[temp2].mp.find(v) == arrMp[temp2].mp.end()){return false;}value = arrMp[temp2].mp[v];return true;
}bool judge(std::string &str){int left, right, v1, v2;std::string temp, temp1, temp2;if (str.find("=") == std::string::npos){left = str.find("[");right = str.rfind("]");temp = str.substr(left + 1, right - left - 1);if (!validJudge(temp, v1)){return false;}arrMp[str.substr(0, left)].len = v1;return true;}int equLoc = str.find("=");left = str.find("[");right = str.rfind("]", equLoc);temp1 = str.substr(left + 1, right - left - 1);temp2 = str.substr(equLoc + 1);if (!validJudge(temp1, v1) || v1 >= arrMp[str.substr(0, left)].len || !validJudge(temp2, v2)){return false;}temp = str.substr(0, left);arrMp[temp].mp[v1] = v2;return true;
}int main(){#ifdef debugfreopen("0.txt", "r", stdin);freopen("1.txt", "w", stdout);#endifwhile (getline(std::cin, s) && s != "."){bug = 0;int i = 0;arrMp.clear();do {if (bug) continue;++i;if (!judge(s)){bug = i;}} while (getline(std::cin, s) && s != ".");printf("%d\n", bug);}#ifdef debugfclose(stdin);fclose(stdout);#endifreturn 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/127336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据分析在程序员职业中的重要性及实践应用

一、引言 在当今信息化社会的快速发展中&#xff0c;数据分析已经成为一项重要的职业技能。不论是从事哪个行业&#xff0c;都需要具备一定的数据分析能力。对于程序员而言&#xff0c;掌握数据分析技能不仅能够提升自身在职场中的竞争力&#xff0c;更能够在职业生涯中获得更…

JAVA数据类型分类及初始默认值(详细)

前言 在学习Java的时候会接触到数据类型&#xff0c;那么在Java中有哪些数据类型呢&#xff1f; Java数据类型主要分为两大类 1.基本类型&#xff08;primitive type&#xff09;2.引用类型&#xff08;reference type&#xff09; 1.基本类型里分为&#xff1a;数值类型、…

多模态论文学习之ALBEF(Align BEfore Fusing)

ALBEF泛读 TitleLinksMotivationHow to solve it?(Contribution)ModelExperimentsPre-training DatasetsDownstream tasksAblation ExperimentTitle 《Align before Fuse: Vision and Language Representation Learning with Momentum Distillation》 Links Paper地址 M…

Hadoop相关知识点

文章目录 一、主要命令二、配置虚拟机2.1 设置静态ip2.2 修改主机名及映射2.3 修改映射2.4 单机模式2.5 伪分布式2.6 完全分布式 三、初识Hadoop四、三种模式的区别4.1、单机模式与伪分布式模式的区别4.2、特点4.3、配置文件的差异4.3.1、单机模式4.3.2、伪分布式模式4.3.3、完…

平面波向球面波的展开

平面波向球面波的展开是一个极其重要的话题 手稿放在文章的结尾处 勒让德展开 citation 1: 我们整理一下&#xff0c;对exp(x)做泰勒展开&#xff0c;得 citation 2: 我们先把精力集中到解决这个积分上去 反复利用分部积分 考虑到奇偶性问题 当且仅当时积分不为零现在做变换 …

解决Windows Server 2012 由于没有远程桌面授权服务器可以提供需求可证

刚开始提示 之后就登录不了 &#xff08;如下图提示&#xff09; 由于windows server 2012 R2 安装了 远程桌面角色&#xff0c;但是这个角色是120天免费的&#xff0c;需要购买授权的。解决方法是取消/删除这个角色&#xff0c;就可以恢复正常的远程 一直下一步 远程桌面服…

IDEA使用-通过Database面板访问数据库

文章目录 前言操作过程注意事项1.无法下载驱动2.“Database”面板不显示数据库表总结前言 作为一款强大IDE工具,IDEA具有很多功能,本文将以MariaDB数据库访问为例,详细介绍如何通过IDE工具的Database面板来访问数据库。 操作过程 不同的版本操作会略有差异,这里我们用于演…

代码随想录Day41-图论:力扣第797m、200m、695m、1020m、130m题

797m. 所有可能的路径 题目链接 代码随想录文章讲解链接 方法一&#xff1a;DFS 用时&#xff1a;11m43s 思路 时间复杂度&#xff1a; O ( n ⋅ 2 n ) O(n \cdot 2^n) O(n⋅2n)&#xff0c;n是节点个数&#xff0c;最坏情况每个节点都可以去往任意一个在它后面的节点&…

【JavaScript保姆级教程】switch分支与while循环

文章目录 前言一、Switch分支1.1 switch基本结构1.2 break语句1.3 default标签1.4 下面是几个Switch分支的示例代码&#xff1a;示例1: 根据星期数输出对应的中文星期名称示例2: 根据用户输入的颜色选择执行不同的操作 二、While循环&#xff1a;2.1 while循环基本格式2.2 cont…

一文速通Sentinel熔断及降级规则

目录 基本介绍 熔断模式 状态机的三个状态 熔断降级规则 断路器熔断策略 慢调用 异常比例 异常数 基本介绍 熔断模式 主要是参考电路熔断&#xff0c;如果一条线路电压过高&#xff0c;保险丝会熔断&#xff0c;防止火灾。放到我们的系统中&#xff0c;如果某个目标…

MPI并行计算的基本介绍和使用

文章目录 MPI基本概念一般实现操作分类基本语句windows下使用Microsoft MPI 示例 点对点通信标准通信缓存通信同步通信就绪通信 MPI组通信广播 - 一对多收集散发组收集归约(reduce)归约并散发 MPI 基本概念 MPI(Message Passin Interface 消息传递接口)是一种消息传递编程模型…

云安全-云原生基于容器漏洞的逃逸自动化手法(CDK check)

0x00 docker逃逸的方法种类 1、不安全的配置&#xff1a; 容器危险挂载&#xff08;挂载procfs&#xff0c;Scoket&#xff09; 特权模式启动的提权&#xff08;privileged&#xff09; 2、docker容器自身的漏洞 3、linux系统内核漏洞 这里参考Twiki的云安全博客&#xff0c;下…

【通关选择】upload-labs通关攻略(全)

前提条件&#xff1a; 1.文件能够成功上传到服务器 2.攻击者能够知道文件的上传路径 upload-labs靶场 Pass-01&#xff08; 前端验证&#xff09; 三种方法解决思路 1.禁用客户端JavaScript弹窗 2.通过burp抓包&#xff0c;修改后缀名 3.f12删除return filecheck&#xff0…

测试用例设计——WEB通用测试用例

现在项目做完了&#xff0c;我觉得还是有必要总结一下&#xff0c;学习到的内容。毕竟有总结才能有提高嘛&#xff01;总结一下通用的东西&#xff0c;不管什么项目基本都可能会遇到&#xff0c;有写地方也有重复的或者有的是按照个人的习惯来总结的不一定都对&#xff0c;有不…

【深度学习】pytorch——实现CIFAR-10数据集的分类

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 往期文章&#xff1a; 【深度学习】pytorch——快速入门 CIFAR-10分类 CIFAR-10简介CIFAR-10数据集分类实现步骤一、数据加载及预处理实现数据加载及预处理归一化的理解访问数据集Dataset对象Dataloader对象 二、…

HTML区块、布局

HTML区块&#xff1a; HTML可以通过<div> 和 <span>将元素组合起来。大多数HTML元素被定义为块级元素或内联元素。块级元素在浏览器显示时&#xff0c;通常会以新行来开始、结束&#xff1b;内联元素在显示时通常不会以新行开始。 HTML<div>元素是块级元素…

JavaWeb 怎么在servlet向页面输出Html元素?

service()方法里面的方法体&#xff1a; resp.setContentType("text/html;charsetutf-8");//获得输出流PrintWriter对象PrintWriter outresp.getWriter();out.println("<html>");out.println("<head><title>a servlet</title>…

docker部署minio并使用springboot连接

需求&#xff1a;工作中&#xff0c;在微信小程序播放时&#xff0c;返回文件流并不能有效的使用&#xff0c;前端需要一个可以访问的地址&#xff0c;springboot默认是有资源拦截器的&#xff0c;但是不适合生产环境的使用 可以提供使用的有例如fastdfs或者minio&#xff0c;这…

Qt实现的自定义登录框连接MySQL(完整的实现过程)

一.开始创建项目 1.创建Qt窗口应用项目: 2.输入文件名、选择项目将要保存的地址 3.构造系统选择qmake 4.类名使用默认的就好,点击继续完成项目的创建 5.创建好的项目如下 二.创建一个资源管理文件 三.创建一个登录对话框窗口 1.选择一个ui界面类 2.选择Dialog without Butt…

git生成gitee和github两个不同的公钥

配置多个公钥 Windows 用户建议使用 Windows PowerShell 或者 Git Bash&#xff0c;在 命令提示符 下无 cat 和 ls 命令。 1、生成公钥文件&#xff1a; 通过命令 ssh-keygen 生成 SSH Key&#xff1a; ssh-keygen -t rsa -C "Gitee SSH Key" -f ~/.ssh/gitee_be…