[CCF/CSP] 2019-(2) 二十四点 C++ 100分

CCF-CSP 如何刷题? CCF考试可以从大二开始准备,基础好的或者想尝试一下的大一就可以准备。 CCF考试主要考察的是算法,所以一定要学好数据结构和算法。 本篇主要讲述如何刷CCF-CSP的历年考试题目。好,开始。 第一步:访问cspro.org,这也是我们报名CCF考试的网址。 可以看到主页有报名入口,CSP系统答疑等等,还有一些通告。 第二步:阅读CSP系统答疑。建议看一下,里面有很多干货,毕竟以后你准备考试也要看... 阅读详情
试题名称代码长度编程语言评测结果得分时间使用空间使用
二十四点1.778KBC++正确10015ms528.0KB

关键点:

1. 中缀表达式转为前缀(或后缀)表达式,此题不考虑“(”  “)”,所以比较简单。

2. 处理字符时,注意区别应该是char类型还是int类型。

3. 运算符的优先级可以用map。

#include <stdio.h>
#include <iostream>
#include <stack>
#include <map>
using namespace std;

map<char, int> priority;

int main(){
    priority['+'] = 1;
    priority['-'] = 1;
    priority['x'] = 2;
    priority['/'] = 2;

    //freopen("201903-2-24.txt","r", stdin);

    int n;
    scanf("%d", &n);

    char line[8], pre[8];
    for(int i=0; i<n; ++i){
        scanf("%s", line);
        stack<char> s1, s2;
        char tmp;
        for(int j=6; j>=0; --j){
            tmp = line[j];
            if(tmp>='0' && tmp<='9'){
                s2.push(tmp);
            }else{
                while( !s1.empty() && priority[tmp] < priority[s1.top()]){
                    s2.push(s1.top());
                    s1.pop();
                }
                if(s1.empty() || priority[tmp] >= priority[s1.top()])
                    s1.push(tmp);
            }
        }
        while(!s1.empty()){
            s2.push(s1.top());
            s1.pop();
        }
        int m = 0;
        while(!s2.empty()){
            pre[m++] = s2.top();
            s2.pop();
        }


        int ans;
        stack<int> s3;
        for(int j=6; j>=0; --j){
            char tmp = pre[j];
            if(tmp >= '0' && tmp <= '9'){
                s3.push(tmp-'0');
            }else{
                int c1 = s3.top();
                s3.pop();
                int c2 = s3.top();
                s3.pop();

                if(tmp == '+'){
                    ans = c1 + c2;
                }else if(tmp == '-'){
                    ans = c1 - c2;
                }else if(tmp == 'x'){
                    ans = c1 * c2;
                }else{
                    ans = c1 / c2;
                }
                s3.push(ans);
            }
        }
        if(ans == 24){
            printf("Yes\n");
        }else{
            printf("No\n");
        }

    }

    return 0;
}
CCF-CSP考试历年题解 CCF-CSP每年有3次考试:3月份,9月份,12月份,每次5道题,考察的范围是本科所学到的基本数据结构问题。文中大部分采用c++写出。第一题CCF-CSP-2017-12-1最小差值(100分)CCF-CSP-2017-09-1打酱油  (100分)CCF-CSP-2017-03-1分蛋糕 (100分)CCF-CSP-2016-12-1中间数 (100分)CCF-CSP-2016-09-1最大波... 阅读详情

相关推荐

CCF CSP201903-2二十四点(C++100)

CCF CSP201903-2二十四点 栈模拟 #include<iostream> #include<stack> #include<string> #include<map> using namespace std; stack<int>number; stack<char>sign; map<char,int>mp; int deal(int num1, int num2, char c){ if(c == 'x'

qq_44091681的博客 422

CSP初赛福音!前、中、后缀表达式互相转换的所有方法

原创,大总结!在这篇文章中,我将详尽的探讨不同的表达式的定义和互相转换的方法。

628

二十四点算法

NULL 博文链接:https://andyjojo.iteye.com/blog/319531

C++ 实现计算24点

原理 暴力枚举所有的情况,运算符号4个,加减乘除 + - * / ,整数数字4个。所需要枚举的次数: 数字顺序:4个数的全排列,4! = 24。 运算符号:4个数需要3个符号,每个可选4种,43 = 64。 加括号方式:((AB)C)D、(A(BC))D、(AB)(CD)、A((BC)D)、A(B(CD)),共5种。 枚举次数 24*64*5 实现细节 全排列枚举由库函数 next_perm...

落叶秋风早的博客 1万+

C语言二十四点

1-13四个随机数进行24点运算,输出运算过程和结果。。

24点算法 (C++实现)

C++ 递归实现24点算法, 输入数组,返回所有可以组成24点的结果,并且自动去重 结果为算式 如: (2+10)*2*1=24

【C++】计算二十四点

输入:只有一行,四个1到9之间的自然数。输出:1、如果有解的话,输出计算式子。2、如果没有解则输出“No answer!

weixin_43669259的博客 1525

C++二十四点游戏MFC编写

C++二十四点游戏 全部结果都有,而且去掉了重复项,而且是可视化的结果。基本算法就是利用数字和运算符的双重递归。代码清晰。任给四个1~9(或1~13)数字,列出计算结果等于24的所有算式。去掉明显的重复算式,比如9+9+4+2和2+9+4+2重复,(5+3)*(3-1)和(3-1)*(3+5)重复。

【C++】24点游戏

提前bb:采用的ide是vc++ 6.0 ,并且是通过24点游戏.cpp包含Judge.h、compute.h、menu.h3个文件 一、题目分析 24点游戏是经典的纸牌益智游戏。 游戏规则: 从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决2...

好好学习天天向上✿✿ヽ(°▽°)ノ✿ 1640

二十四点源程序

二十四点源程序

python音频信号分析

声音以具有诸如频率、带宽、分贝等参数的音频信号的形式表示,典型的音频信号可以表示为幅度和时间的函数

MAY的博客 2785

C++程序计算24点

本文用C++编写了一个24点程序,对于能算出24点的,输出一种计算表达式,如不能算也说明。

gxgdcyy的博客 3846

告别环境配置焦虑:在Win10的Ubuntu子系统里搞定CSAPP实验环境(附32/64位库编译指南)

本文详细介绍了如何在Win10的Ubuntu子系统中搭建CSAPP实验环境,包括WSL 2的安装与配置、32/64位库的编译指南以及高效开发工具链的设置。通过优化WSL性能和使用实用技巧,开发者可以轻松应对CSAPP实验中的环境配置问题,提升学习效率。

weixin_30443813的博客 296

CCF-CSP认证历年真题解(100分)

转载: 链接出自:https://blog.youkuaiyun.com/tigerisland45/article/details/54755895 CCF-CSP认证历年真题解–python语言 CCF-CSP认证历年真题解–Java语言 C/C++语言: 2019.12 第18次: CCF201912-1 报数(100分)【模拟】 CCF201912-2 回收站选址(100分)【序列处理】 2019.09 第17次: CCF201909-1 小明种苹果(100分)【序列处理】 CCF201909-2 小明种苹果(

追梦鸟 3万+

RK3568(buildroot)利用squashfs+overlay实现嵌入式系统高可靠存储方案

本文详细介绍了在RK3568嵌入式平台上,基于Buildroot系统,利用squashfs只读根文件系统与overlayfs可写层相结合的高可靠存储方案。该方案能有效防止设备意外断电导致的系统文件损坏,通过内核配置、启动脚本编写及镜像制作,实现系统核心的只读保护与用户数据的持久化分离,显著提升嵌入式设备的现场稳定性。

weixin_29189381的博客 546

物联网Node-Red开发教程-第6章 HTTP与Web服务

本章摘要(147字): 本章系统讲解了Node-RED中的HTTP节点应用,重点包括: 三大核心HTTP节点功能:http in(接收请求)、http response(返回响应)、http request(调用外部API) 详细演示了REST API开发流程,包括路径参数(req.params)处理和响应构造 提供了创建Hello World API、传感器数据接口等实用示例 涵盖HTTP方法特性、状态码设置及响应头配置等关键知识点 通过流程图和JSON配置直观展示节点连接方式,帮助快速掌握Web服务开发

shihui2003的博客 264

CCF-CSP认证历年真题解(包含Java与C/C++)

写博客的原因是阅读了CCF-CSP认证历年真题解(C/C++),准备CCF的同时想写一个java版 CCF每题要获得100分,仅仅使用原题的样例来测试是不够的,需要自己设计一些样例,并且需要考虑特殊的边界条件。 目录2019.09 第17次java题解C/C++题解2019.03 第16次C/C++题解2018.12 第15次C/C++题解2018.09 第14次C/C++题解2018.03 ...

3928

基于FPGA的FIR数字滤波器设计

clear;close all fc=1/4;fs=5/16; %输入给定指标 Rp=3;As=60;Fs=2; f=[fc,fs];m=[1,0]; %计算remezord函数所需参数f,m,dev dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)]; [N,fo,mo,W]=remezord(f,m,dev,Fs); %确定remez函数所需参数 hn=remez(N,fo,mo,W);...

FPGA/MATLAB学习教程/源码/项目合作开发 9454

CCF-CSP刷题网站推荐(含100分答案)

CCF刷题网站(含答案): C/C++: https://blog.youkuaiyun.com/tigerisland45/article/details/54755895 Python: https://blog.youkuaiyun.com/weixin_41706011/article/details/86594586 JAVA: https://blog.youkuaiyun.com/zjj582984208/art...

追梦鸟 11万+

2023年下半年网络工程师案例分析真题答案解析

R1] ip route-static 0.0.0.0 0.0.0.0 GigabitEthemet2/0/1 (3) track (4) R1 to R2 //配置R1的缺省路由,联动BFD使得R1到2的流量优先走R1->S1->R2链路,当此链路发生故障时,流量切换到R1->R3->R2链路上。当同一VLAN内也需要网络隔离时,我们可采用交换机的(2)功能,若在配置了二层隔离后,部分主机有互通的需求,则可在需求主机的网关上配置(3)功能。不需要,MAC地址是数据链路层封装以太帧的地址标识。

鹿鸣天涯 746

基于YOLOv8的人群聚集检测系统:含UI界面设计与数据集应用

人群聚集检测是智慧城市、公共安全和疫情防控等领域的重要任务。本文结合YOLOv8最新目标检测技术,设计并实现了一个高效的人群聚集检测系统,支持可视化UI界面操作,方便用户实时检测和分析视频中的人群密度。本文详细介绍了系统设计思路、使用的数据集、YOLOv8模型训练和推理过程,以及UI界面的开发与整合。最后通过实验验证了该系统的实用性和性能表现。更灵活的模型架构强化的特征融合网络(PAN++)自动混合精度训练支持支持多任务学习(目标检测+分类+分割)预训练模型丰富,适应多种应用场景。

YOLO 432

CCF CSP认证

❤️CCF CSP认证 (cspro.org)❤️ 1.主办单位 中国计算机学会 (ccf.org.cn)——中国计算机领域十分权威、影响力很大的专业组织。 2.认证目的 重点考察软件开发者的算法设计和编程能力,向企业和高校推荐合格的软件人才。 3.认证内容 主要覆盖大学计算机及软件相关专业所学习程序设计、数据结构、算法,以及相关数学基础知识。 编程语言允许使用:C/C++、Java和Python。 4.认证方式 认证全部采用上机编程方式,编制的程序在限定的时间空间内通过给定的数据测试后获得相应分数。共5道

AlbertDarren的博客 1万+

基于STM32L4XX、HAL库的MP2672GD-0000-Z充电芯片驱动程序设计

CHG_STAT_GPIO_Port, CHG_STAT_Pin, // 这些宏应由 CubeMX 生成在 main.h。

zhusl6688的博客 494

CCF-CSP认证考试真题(含题解和c++代码)

CSP-CCF 认证考试真题题解,将不定期更新。如果大家有其他解法、发现我笔误或者可以 hack 我做法/程序(合法输入导致错误输出)的地方,欢迎通过私聊与我交流。

Pujx的博客 10万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

CCF-CSP考试介绍以及复习技巧指导

CCF-CSP考试时间及费用 时间一般是每年3、9、12月的中旬,报名时间一般也是提前一个月,不固定。 非计算机协会会员300元/次,会员180元/次(学生会员需缴纳50元/年的会费),相当于一年可以打三次折。 编程语言及编译器 C/C++:Dev-CPP 5.4.0 (Min GW 4.7.2) Java:Eclipse (Java SDK 1.7.0_15) Pytho...

巡山小妖 8万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

新CCF-CSP认证历年真题解

CSP认证考什么怎么考?      CCF计算机职业资格认证的每一道试题都十分经典,覆盖现实世界中方方面面的问题。这个历年试题解主要使用C/C++语言编写,将逐步增加Python和Java的解题程序。程序中附有注释,力求解题思路清晰简洁,值得珍藏与模仿。   逐题改写过程中,富文本编辑器写的博客将全部用Markdown编辑器改写。改写的第一题,都增加了Python和Java的解题程序。   本文本来只是一个索引链接,为了更加易于使用,格式做了调整,界面更加简洁。原来博文《CCF-CSP认证历年真题解》阅读量

海岛Blog 2万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: [CCF/CSP]201812-(3) CIDR合并 C++ 100分
AndrewJoe
博客等级 码龄11年 13粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值