蓝桥杯-不完整的算式
问题描述
小蓝在黑板上写了一个形如 AopB=CAopB=C 的算式,其中 AA、BB、CC 都是非负整数,opop 是 +、-、*、/+、-、*、/(整除)四种运算之一。不过 AA、opop、BB、CC 这四部分有一部分被不小心的同学擦掉了。
给出这个不完整的算式,其中被擦掉的部分(被擦掉的部分是被完整的擦掉,不会出现留下若干位数字的情况)用 ?? 代替。请你输出被擦掉的部分。
输入描述
输入只有一行,包含一个字符串代表如上文所述的不完整的算式。
输出描述
如果被擦掉的部分是 AA、BB、CC 之一,请输出一个整数代表答案。如果被擦掉的部分是 opop,请输出+、-、*、/+、-、*、/四个字符之一代表答案。
样例输入1
1+?=2
样例输出1
1
样例输入2
10?3=3
样例输出2
/
评测用例规模
对于 20%20% 的数据,被擦掉的部分是 CC。
对于 40%40% 的数据,被擦掉的部分是 opop。
对于 100%100% 的数据,算式长度不超过 1010,不包含空格。算式中出现的整数不包含多余的前导 00。输入保证合法且有唯一解。
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |
思路:
1.先将算式从=中间进行拆分,拆分成两个字符串
2.再判断?所在的位置
(1)判断 ?在C的部分
直接将对应的部分进行转换后进行运算
(2 )判断 ?在非C(A,op,B)的部分
在A的位置,再判断运算符所在的索引,再拆出来进行运算
在op的位置,再判断运算符所在的索引,再拆出来进行运算
在B的位置,再判断运算符所在的索引,再拆出来进行运算
基础语法:
1//将输入的字符串的整行都提取
String s=scan.nextLine();2//将字符串按照等号两边进行分割
String[] s1 =s.split("=");3//字符串string的匹配:
C.equals("?");4//字符的匹配:
s.charAt(i)=='?';5//截取字符串,例子:uiasc
s.substring(1,3);
//substring(1,3)=>ia6//字符串转换成整形数
parseInt("2122");
我的代码:
import java.util.Scanner;
import java.util.Arrays;import static java.lang.Integer.parseInt;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//先全部输入字符串//进行拆解分割,先分为等号左右两部分,再把等号的左边部分再单独分割成三个部分//数字格式为A op B=C//要分解成A,op,B,C//先读取一整行的字符串:2+2=4String s=scan.nextLine();String[] s1 =s.split("=");//变成:[2+2,4]String s2=s1[0];String C=s1[1];//当?出现在C的位置int id =0;if(C.equals("?")){//寻找运算符的位置for(int i=0;i<s1[0].length();i++){if(s2.charAt(i)<'0'||s2.charAt(i)>'9'){id=i;break;}}int A= parseInt(s2.substring(0,id));int B= parseInt(s2.substring(id+1,s2.length()));String op=s2.substring(id,id+1);if(op.equals("+")) System.out.print(A+B);if(op.equals("-")) System.out.print(A-B);if(op.equals("*")) System.out.print(A*B);if(op.equals("/")) System.out.print(A/B);}else{//当?出现在A,op,B的位置//先找到?的位置for(int i=0;i<s2.length();i++){if(s2.charAt(i) == '?'){id =i;break;}}//当?出现在A的位置时:?+9=10if(id ==0){String op=s2.substring(1,2);int B=parseInt(s2.substring(2,s2.length()));int C1=parseInt(C);if(op.equals("+")) System.out.print(C1-B);if(op.equals("-")) System.out.print(C1+B);if(op.equals("*")) System.out.print(C1/B);if(op.equals("/")) System.out.print(C1*B);}else if(id == s2.length()-1){//当?出现在B的位置时:1+?=10String op=s2.substring(id-1, id);int A=parseInt(s2.substring(0,id-1));int C1=parseInt(C);if(op.equals("+")) System.out.print(C1-A);if(op.equals("-")) System.out.print(A-C1);if(op.equals("*")) System.out.print(C1/A);if(op.equals("/")) System.out.print(A/C1);}else{//当?出现在op的位置时:2?8=10int A=parseInt(s2.substring(0, id));int B=parseInt(s2.substring(id +1,s2.length()));int C1=parseInt(C);if(A+B==C1) System.out.print("+");if(A-B==C1) System.out.print("-");if(A*B==C1) System.out.print("*");if(A/B==C1) System.out.print("/");}}scan.close();}
}
相关文章:
蓝桥杯-不完整的算式
问题描述 小蓝在黑板上写了一个形如 AopBCAopBC 的算式,其中 AA、BB、CC 都是非负整数,opop 是 、-、*、/、-、*、/(整除)四种运算之一。不过 AA、opop、BB、CC 这四部分有一部分被不小心的同学擦掉了。 给出这个不完整的算式&a…...

信贷风控笔记4——贷前策略之额度、定价(面试准备12)
1.贷前模型的策略应用 分类:审批准入(对头尾部区分度要求高):单一规则(找lift>3的分数做规则);二维交叉;拒绝回捞 额度定价(对排序性要求高)&am…...

A级、B级弱电机房数据中心建设运营汇报方案
该方案围绕A 级、B 级弱电机房数据中心建设与运营展开,依据《数据中心设计规范》等标准,施工范围涵盖 10 类机房及配套设施,采用专业化施工团队与物资调配体系,强调标签规范、线缆隐藏等细节管理。运营阶段建立三方协同运维模式,针对三级故障制定30 分钟至 1 小时响应机制…...

Linux中的域名解析服务器
一、DNS(域名系统)详解 1. 核心功能与特点 特性说明核心作用将域名(如 www.example.com)转换为 IP 地址(如 192.168.1.1),实现人类可读地址与机器可读地址的映射。端口与协议- 默认端口&#…...
如何优化Java中十进制字符串转十六进制的性能
在 Java 中优化十进制字符串转十六进制的性能,可以从减少对象创建、避免正则表达式、使用高效数据结构等方面入手。以下是具体的优化方案: 1. 避免字符串分割,直接遍历字符数组 原始方法(频繁创建子字符串)࿱…...

CycleISP: Real Image Restoration via Improved Data Synthesis通过改进数据合成实现真实图像恢复
摘要 大规模数据集的可用性极大释放了深度卷积神经网络(CNN)的潜力。然而,针对单图像去噪问题,获取真实数据集成本高昂且流程繁琐。因此,图像去噪算法主要基于合成数据开发与评估,这些数据通常通过广泛假设的加性高斯白噪声(AWGN)生成。尽管CNN在合成数据集上表现优异…...

Day28 Python打卡训练营
知识点回顾: 1. 类的定义 2. pass占位语句 3. 类的初始化方法 4. 类的普通方法 5. 类的继承:属性的继承、方法的继承 作业 题目1:定义圆(Circle)类 要求: 1. 包含属性:半径 radius。 2. …...
【OpenCV】基本数据类型及常见图像模式
是什么?能做什么?解决什么问题?为什么用它? OpenCV:是一个基于开源发行的跨平台计算机视觉库,实现 一、应用场景: 目标识别:人脸、车辆、车牌...自动驾驶医学影像分析视频内容理解与分析&…...

Linux之Nginx安装及配置原理篇(一)
Nginx安装及配置 前情回顾 首先针对Nginx进程模型,我们回顾一下它的原理机制,我们知道它是通过Master通过fork分发任务节点给予work节点,然后work节点触发了event事件,之后通过一个access_muttex互斥锁,来单线程调用我…...

【Linux网络】NAT和代理服务
NAT 之前我们讨论了,IPv4协议中,IP地址数量不充足的问题。 原始报文途径路由器WAN口时,对报文中的源IP进行替换的过程,叫做NAT。 NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能: NAT能…...

中药药效成分群的合成生物学研究进展-文献精读130
Advances in synthetic biology for producing potent pharmaceutical ingredients of traditional Chinese medicine 中药药效成分群的合成生物学研究进展 摘要 中药是中华民族的文化瑰宝,也是我国在新药创制领域的重要驱动力。许多中药材来源于稀缺物种…...

【消息队列】RabbitMQ基本认识
目录 一、基本概念 1. 生产者(Producer) 2. 消费者(Consumer) 3. 队列(Queue) 4. 交换器(Exchange) 5. 绑定(Binding) 6. 路由键(Routing …...
OCCT知识笔记之OCAF框架详解
OCAF框架在OCCT项目中的构建与使用指南 Open CASCADE Application Framework (OCAF)是Open CASCADE Technology (OCCT)中用于管理CAD数据的核心框架,它提供了一种结构化方式来组织和管理复杂的CAD数据,如装配体、形状、属性(颜色、材料)和元数据等。本文…...
蓝桥杯 16. 外卖店优先级
外卖店优先级 原题目链接 题目描述 “饱了么” 外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有一个优先级,初始时(0 时刻)优先级都为 0。 每经过 1 个时间单位: 如果外卖店没有订单,则优先…...

1T 服务器租用价格解析
服务器作为数据存储与处理的核心设备,对于企业和个人开发者而言至关重要。当涉及到租用 1T 服务器时,价格是大家很为关注的要点。然而,1T 服务器租用一个月的费用并非固定不变,而是受到诸多因素的综合影响。 影响 1T 服务器租用…...

【JavaWeb】Maven(下)
1 依赖管理 1.1 依赖配置 1.1.1 基本配置 依赖:指当前项目运行所需要的jar包。 一个项目中可以引入多个依赖: 例如:在当前工程中,我们需要用到logback来记录日志,此时就可以在maven工程的pom.xml文件中,引…...
java.lang.ArithmeticException
ArithmeticException算术异常类在java.lang包下,继承RuntimeException运行期异常,算术异常类在Java1.0就有,当发生异常算术条件时抛出算术异常类,譬如除数为0的情况,除数除不尽的情况。 一 异常出现场景 1.1 除数为零…...

openEuler24.03 LTS下安装MySQL8.0.42
目录 前提步骤 删除原有mysql及maridb数据库 安装MySQL 启动MySQL 启动查看MySQL状态 设置MySQL开机自启动 查看登录密码 登录MySQL 修改密码及支持远程连接 远程连接MySQL 前提步骤 拥有openEuler24.03 LTS环境,可参考:Vmware下安装openEule…...

gflags 安装及使用
目录 引言 安装 如何用 gflags 库写代码 如何用命令行使用 gflags 库 gflags 库的其他命令行参数 引言 gflags 是 Google 开发的一个开源库,用于 C 应用程序中命令行参数的声明、定义 和解析。 gflags 库提供了一种简单的方式来添加、解析和文档化命令行标…...

Linux面试题集合(2)
查看系统磁盘使用,当前目录下所有文件夹的使用情况 df -h du -h 更改目录所有人和所有组,包括里面的文件夹下的文件,递归更改 chown -R newowner:newgroup 目录名 只更改文件所有人或者只更改文件所有组 chown newowner file chgrp newgroup …...

致敬经典 << KR C >> 之打印输入单词水平直方图和以每行一个单词打印输入 (练习1-12和练习1-13)
1. 前言 不知道有多少同学正在自学C/C, 无论你是一个在校学生, 还是已经是上班族. 如果你想从事或即将从事软件开发这个行业, C/C都是一个几乎必须要接触的系统级程序开发语言. 虽然现在有Rust更安全的系统级编程语言作为C/C的替代, 但作为入门, C应该还是要好好学的. C最早由B…...
std::ratio<1,1000> 是什么意思?
author: hjjdebug date: 2025年 05月 14日 星期三 09:45:24 CST description: std::ratio<1,1000> 是什么意思? 文章目录 1. 它是一种数值吗?2. 它是一种类型吗?3. std:ratio 是什么呢?4. 分析一个展开后的模板函数5.小结: …...

基于Llama3的开发应用(二):大语言模型的工业部署
大语言模型的工业部署 0 前言1 ollama部署大模型1.1 ollama简介1.2 ollama的安装1.3 启动ollama服务1.4 下载模型1.5 通过API调用模型 2 vllm部署大模型2.1 vllm简介2.2 vllm的安装2.3 启动vllm模型服务2.4 API调用 3 LMDeploy部署大模型3.1 LMDeploy简介3.2 LMDeploy的安装3.3…...
2025.05.17淘天机考笔试真题第三题
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 奇偶平衡树分割问题 问题描述 K小姐是一位园林设计师,她设计了一个由多个花坛组成的树形公园。每个花坛中种植了不同数量的花…...

windows 10 做服务器 其他电脑无法访问,怎么回事?
一般我们会先打开win10自己的防火墙策略,但是容易忽略 电脑之间 路由器上的防火墙,此时也需要查看一下,可以尝试先关闭路由器防火墙,如果可以了,再 设置路由器上的防火墙规则。 将路由器的上网设置 改成 路由模式 &a…...

Linux进程信号处理(26)
文章目录 前言一、信号的处理时机处理情况“合适”的时机 二、用户态与内核态概念重谈进程地址空间信号的处理过程 三、信号的捕捉内核如何实现信号的捕捉?sigaction 四、信号部分小结五、可重入函数六、volatile七、SIGCHLD 信号总结 前言 这篇就是我们关于信号的最…...
【从设置到上传的全过程】本地多个hexo博客,怎么设置ssh才不会互相影响
偶然间,想多建一个博客,但电脑已经有一个博客了,怎么设置ssh才不会互相影响呢? 在 Windows 系统上设置多个 Hexo 博客的 SSH 配置,避免互相影响,通常户就需要为每个博客配置不同的 SSH 密钥,并…...
顶层架构 - 消息集群推送方案
一、推送基础概念简述 在即时通讯(IM)系统中,最基础的一件事就是“如何把消息推送给用户”。为了实现这个过程,我们要先了解两种常见的网络通信方式:HTTP 和 WebSocket。 1. HTTP 是什么? HTTP 就像一次性…...
Python训练打卡Day26
函数专题1:函数定义与参数 知识点回顾: 函数的定义变量作用域:局部变量和全局变量函数的参数类型:位置参数、默认参数、不定参数传递参数的手段:关键词参数传递参数的顺序:同时出现三种参数类型时 到目前为…...
构建优雅对象的艺术:Java 建造者模式的架构解析与工程实践
一、建造者模式的本质与核心价值 在面向对象的软件设计中,创建复杂对象一直是一个需要精心处理的问题。当一个对象的构建需要多个步骤,并且这些步骤具有不同的组合方式时,传统的构造函数方式会显得力不从心。建造者模式(Builder …...