蓝桥杯C/C++省赛:颠倒的价牌

2023-11-08

目录

题目描述

思路分析

AC代码


题目描述

小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。
其标价都是4位数字(即千元不等)。
小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了。

这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 6 8 9 0 都可以。这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:1958 倒着挂就是:8561,差了几千元啊!!
当然,多数情况不能倒读,比如,1110 就不能倒过来,因为0不能作为开始数字。
有一天,悲剧终于发生了。某个店员不小心把店里的某两个价格牌给挂倒了。并且这两个价格牌的电视机都卖出去了!
庆幸的是价格出入不大,其中一个价牌赔了2百多,另一个价牌却赚了8百多,综合起来,反而多赚了558元。
请根据这些信息计算:赔钱的那个价牌正确的价格应该是多少?

思路分析

我们首先需要一个生成倒读价格的函数:

因为准备暴力遍历解决,所以我们尽可能的减少操作的次数,首先末尾为0的数肯定不能倒,return回去,能被1111整除的倒了没有用,return回去,接着把数变成字符串,用to_string函数,遍历字符串,有3有4有7的不能倒,return回去。

然后把字符9变成字符6,把字符6变成字符9。

然后把字符串整个颠倒过来,用reverse函数。

然后把字符串变成数,用atoi函数。

主函数两层循环找:注意到 其中一个价牌赔了2百多,另一个价牌却赚了8百多,这个消息必须用上,因为有多个满足条件,而且找到一个就可以了,因为赔的价格只有一个,但是赚的价格有很多个。

AC代码

#include <bits/stdc++.h>
#include<stdlib.h>
using namespace std;

int invert(int &price) {
    if (price % 10 == 0)
        return 0;
    if(price%1111==0)
        return 0;
    string temp = to_string(price);
    for (auto &it: temp)
        if(it=='3'||it=='4'||it=='7')
            return 0;
        else if (it == '9')
            it = '6';
        else if (it == '6')
            it = '9';
    reverse(temp.begin(),temp.end());
    return atoi(temp.c_str());
}

int main() {
    int price1=1001,price2=1002;
    for(int i=price1;i<9998;i++)
        if(invert(i)&& invert(i)+200<i&& invert(i)+300>i)
        for(int j=price2;j<9998;j++){
            if(i==j)
                continue;
            if(invert(j)&& invert(j)>j+800&& invert(j)<j+900)
                if(invert(i)+invert(j)==i+j+558){
                    cout<<i;
                    return 0;
                }
        }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯C/C++省赛:颠倒的价牌 的相关文章

  • 基于HAL库的FREERTOS----------一.任务

    FreeROTS 就是一个免费的 RTOS 类系统 这里要注意 RTOS 不是指某一个确定的系统 而是指一类系统 比如 UCOS FreeRTOS RTX RT Thread 等这些都是 RTOS 类操作系统 FreeRTOS 是 RTOS

随机推荐

  • Vue中的自定义指令——全局和局部

    Vue中的自定义指令 一 注册全局指令 二 注册局部指令 通过自定义指令 我们可以对DOM进行更多的底层操作 这样不仅可以在某些场景下为我们提供解决问题的思路 而且让我们对vue的底层有了进一步的了解 一 注册全局指令 通过Vue dire
  • 怎么解决Visual Studio无法打开源文件“stdio.h“问题

    CUDA文件中无法打开源文件 stdio h 混元太极马保国的博客 CSDN博客 以上链接的解决办法最好 1 不用管它 也可以正常运行cu项目 2 按上述链接处理 项目 属性 常规 启动托管增量生成 改为 是 也可以消除波浪线 这篇文章主要
  • Java内存溢出问题深入探究及其解决策略

    文章目录 引言 一 Java内存模型与溢出的根源 1 1 Java内存模型 1 2 内存溢出的根源 二 诊断内存溢出 三 解决策略 3 1 优化代码 3 2 调整堆大小 3 3 使用内存友好的数据结构和算法 3 4 优化并发 四 代码示例
  • [非线性控制理论]8_三种鲁棒控制器的比较

    非线性控制理论 1 Lyapunov直接方法 非线性控制理论 2 不变性原理 非线性控制理论 3 基础反馈稳定控制器设计 非线性控制理论 4 反馈线性化 反步法 非线性控制理论 5 自适应控制器 Adaptive controller 非线
  • Docker高级:Compose 容器编排

    目录 一 Docker Compose 概述 二 使用 Docker Compose 三 常用命令 四 编排微服务 搭建微服务 编写Dockerfile构建镜像 启动容器 测试服务 使用Compose编排容器 五 总结 一 Docker C
  • 10个顶级的CSS UI开源框架

    随着CSS3和HTML5的流行 我们的WEB页面不仅需要更人性化的设计理念 而且需要更酷的页面特效和用户体验 作为开发者 我们需要了解一些宝贵的CSS UI开源框架资源 它们可以帮助我们更快更好地实现一些现代化的界面 包括一些移动设备的网页
  • 模式识别课程:目标检测①创建PASCAL VOC数据集

    title 目标检测 创建数据集 目标检测实验报告 检测所用软硬件 云服务器 硬件 macOS或者windows电脑 软件 pycharm 生成的测试集 云服务器 滴滴云 https www didiyun com activity htm
  • 二.信息化与系统集成技术

    项目经理考试学习笔记 二 信息化与系统集成技术 考试 6分左右 信息化5分左右 1 信息化 1 1 政府信息化与电子政务 1 2 企业资源管理 ERP 1 2 1 ERP的定义 1 2 3 ERP的思想 1 3 客户管理关系 CRM 职能
  • Git中忽略文件常见内容, git中的一些操作记录

    jar war class lock DS Store swp out target iml ipr iws bak settings classpath project metadata idea logs log dependency
  • Win10 开发者模式开启

    使用注册表方式 建立一个注册表DWORD为1键值 HKLM SOFTWARE Microsoft Windows CurrentVersion AppModelUnlock AllowAllTrustedApps建立一个注册表DWORD为1
  • 短视频、直播程序、一对一社交app--老外们玩嗨的程序竟然多半来自“中国的程序猿们开发”...

    短视频 直播程序 一对一社交app 老外们玩嗨的程序竟然多半来自 中国的程序猿们开发 在过去的2017年可以说是中国短视频 直播程序 一对一社交app极为火爆的一年 国内市场的厮杀一直没有停止过 很多投资者在国内那是一片红海 短视频 直播程
  • STM32 学习笔记 -- Keil 5调试STM32控制器,出现错误提示“Error: Encountered an improper argument”的原因参考

    最近在使用MDK调试STM32控制器 当下载完成 需要使用ST LINK进行程序仿真时 MDK偶尔会出现错误提示 Error Encountered an improper argument 大概意思是说 错误 遇到不正确的参数 出现这种情
  • 音频放大器的设计

    摘要 进入21世纪以后 各种便携式的电子设备成为了电子设备的一种重要的发展趋势 从作为通信工具的手机 到作为娱乐设备的MP3播放器 已经成为差不多人人具备的便携式电子设备 所有这些便携式的电子设备的一个共同点 就是都有音频输出 也就是都需要
  • 微信小程序模板消息发送功能实现

    前言 发送微信模板消息首先需要用户去绑定openId和serverOpenId才能推送模板消息 1 微信配置项 1 微信小程序根据前端返回的code去获取unionId和openid 通过type 0的接口去请求 2 用户获取到unionI
  • JasperSoft Studio的使用(1)——软件介绍及创建空白模板

    最近工作中需要用到报表打印 像pdf中多个table的展示 一个List在新的一页中显示列头等 JasperSoft 正好可以满足这些需求 所以记录一下 用以分享 软件介绍 JasperSoft Studio是一个面向 JasperRepo
  • 华为Java社招面试经历详解【已拿到offer】

    这篇文章主要介绍了华为Java社招面试经历 详细记录了华为java面试的流程 相关面试题与参考答案 需要的朋友可以参考下 看看自己能答对多少 如果能回答70 的题目 就大胆去阿里以及各互联网公司试试身手吧 本篇建议大家收藏 备用 华为Jav
  • Qt Creator release版本进行调试

    一 背景 我们在进行性Qt Creator 进行开发时 想要调试代码 通常是只需要编译 debug 版本的程序 但对于很多大型项目 引用外部第三方库中难免只存在release版本的动态库 所以 当我们的程序进行debug 调试时 往往会编译
  • window零基础部署langchain-ChatGLM

    一 介绍 从0开始安装运行langchain ChatGLM 6b int4模型 主要是版本要配套不然特别容易报错 我的机器配置CPU是Intel Core i7 7700HQ CPU 2 80GHz 2 80 GHz GPU8G 二 相关
  • 腾讯 13 年,我所总结的Code Review终极大法

    关注并星标腾讯云开发者 每周1 鹅厂工程师带你审判技术 第3期 林强 Code Review 我都 CR 些什么 谚语曰 Talk Is Cheap Show Me The Code 知易行难 知行合一难 嘴里要讲出来总是轻松 把别人讲过的
  • 蓝桥杯C/C++省赛:颠倒的价牌

    目录 题目描述 思路分析 AC代码 题目描述 小李的店里专卖其它店中下架的样品电视机 可称为 样品电视专卖店 其标价都是4位数字 即千元不等 小李为了标价清晰 方便 使用了预制的类似数码管的标价签 只要用颜色笔涂数字就可以了 这种价牌有个特