NYoj 1236 密室逃脱

密室逃脱1.zip 一款基于MFC的益智类小游戏,使用了工厂方法的设计模式,单例模式等。 立即下载

挑战密室
时间限制:1000 ms | 内存限制:65535 KB
难度:4

描述
R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。

Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映的是客观事实。因此书写化学方程式要遵守两个原则:一是必须以客观事实为基础;二是要遵守质量守恒定律。

化学方程式不仅表明了反应物、生成物和反应条件。同时,化学计量数代表了各反应物、生成物物质的量关系,通过相对分子质量或相对原子质量还可以表示各物质之间的质量关系,即各物质之间的质量比。对于气体反应物、生成物,还可以直接通过化学计量数得出体积比。例如:2NaOH+H2SO4=Na2SO4+2H2O

经过多次试探、推理,Dr. Kong发现密码是4位数字,就隐藏在化学方程式等号后的第一个分子中,其分子量就可能是密码(若分子量不足4位,前面加0)。

好在Dr. Kong还记得墙上各化学方程式用到的化学元素的原子量如下:

这里写图片描述

你能帮Dr. Kong尽快找到密码吗?

输入
第一行: K,表示有K个化学方程式;
接下来有K行,每行为一个化学方程式

输出
对于每个化学方程式输出一行:即密码。

样例输入
3
2C+O2=2CO
2NaOH+H2SO4=Na2SO4+2H2O
Ca2CO3+H2O=Ca2(OH)2+CO2

样例输出
0056
0142
0116
提示
2≤K≤8 ,化学方程式的长度不超过50, 所有原子,分子的数量不超过9.小括号最多一层.
来源
第八届河南省程序设计大赛
上传者
hnu_acm

题目的意思简单明了,就是让你算出来等式右边的第一个化学分子式的相对原子质量。

我的做法是先把这个数组改变,只存在分子式。然后对它进行判断处理,有些方面用了算是一些小技巧。注意判断“(”“)”,之前没有看到括号,滞留了好久。
想了一天,好忧桑。

下面是代码:

#include<bits/stdc++.h>
using namespace std;
char  s[60];
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        memset(s,0,sizeof(s));
        scanf("%s",s);
        int n=1,a=60,flag=0,l=strlen(s);
        for(int i=0; i<l; i++)
            if(s[i]=='=')
            {
                if(s[i+1]>='2'&&s[i+1]<='9')
                {
                    a=i+2;
                    n=s[i+1]-'0';//如果分子式前有数字的话,先把数字存下来;
                }
                else
                    a=i+1;//a 标记的是分子式第一个不为数字的位置;
                break;
            }
        int c=a;//c是等号分子式第一个不为数字的位置;
        for(int i=0; i<l; i++)
        {
            if(s[a]=='+')
                a=l;
            if(i>=l-c)//如果j大于分子式的长度,数组归零;
                s[i]=0;
            else
                s[i]=s[a++];//把数组中等号后的第一个分子式放在前边。
        }
//        puts(s);//尝试输出;
        l=0;
        for(int i=0; s[i]!=0; i++)
            l++;//将l重新更新为分子式的长度
//        printf("%d\n",l);//输出尝试;
        int sum1=0,fla=1,sum2=0;
        for(int i=0; i<l ;)
        {
            if(s[i]=='(')// 判断‘(’,sum2存sum1,sum1归零并且记录括号中的相对分子质量;
            {
                sum2=sum1;
                sum1=0;
                i++;
                continue;
            }
            if(s[i]==')')//判断‘)’,并且括号后一位是否为数字,sum1更新为所有的相对分子质量;
            {
                if(s[i+1]>='0'&&s[i+1]<='9')
                {
                    fla=s[i+1]-'0';
                    i+=2;
                }
                else
                    i++;
                sum1=fla*sum1+sum2;
                continue;
            }
            //开始判断元素,记录相对分子质量。
            if( s[i]=='C')//以‘C’开头的元素,有三个,Cl,Ca,C;
            {
                if(s[i+1]=='l')
                {
                    if(s[i+2]>='2'&&s[i+2]<='9')
                    {
                        sum1+=35*(s[i+2]-'0');
                        i+=3;
                    }
                    else
                    {
                        sum1+=35;
                        i+=2;
                    }
                }
                else if(s[i+1]=='a')
                {
                    if(s[i+2]>='2'&&s[i+2]<='9')
                    {
                        sum1+=40*(s[i+2]-'0');
                        i+=3;
                    }
                    else
                    {
                        sum1+=40;
                        i+=2;
                    }
                }
                else
                {
                    if(s[i+1]>='2'&&s[i+1]<='9')
                    {
                        sum1+=12*(s[i+1]-'0');
                        i+=2;
                    }
                    else
                    {
                        sum1+=12;
                        i++;
                    }
                }
            }
            else if(s[i]=='N')// 以N开头的元素有两个, Na,N;
            {
                if(s[i+1]=='a')
                {
                    if(s[i+2]>='2'&&s[i+2]<='9')
                    {
                        sum1+=23*(s[i+2]-'0');
                        i+=3;
                    }
                    else
                    {
                        sum1+=23;
                        i+=2;
                    }
                }
                else if(s[i+1]>='2'&&s[i+1]<='9')
                {
                    sum1+=14*(s[i+1]-'0');
                    i+=2;
                }
                else
                {
                    sum1+=14;
                    i++;
                }
            }
            else if(s[i]=='O')//判断‘O’;
            {
                if(s[i+1]>='2'&&s[i+1]<='9')
                {
                    sum1+=16*(s[i+1]-'0');
                    i+=2;
                }
                else
                {
                    sum1+=16;
                    i++;
                }
            }
            else if(s[i]=='S')//判断‘S’;
            {
                if(s[i+1]>='2'&&s[i+1]<='9')
                {
                    sum1+=32*(s[i+1]-'0');
                    i+=2;
                }
                else
                {
                    sum1+=32;
                    i++;
                }
            }
            else if(s[i]=='H')//判断‘H’;
            {
                if(s[i+1]>='2'&&s[i+1]<='9')
                {
                    sum1+=2*(s[i+1]-'0');
                    i+=2;
                }
                else
                {
                    i++;
                    sum1+=2;
                }
            }
            else if(s[i]=='A'&&s[i+1]=='l')//判断‘Al’;
            {
                if(s[i+2]>='2'&&s[i+2]<='9')
                {
                    sum1+=27*(s[i+2]-'0');
                    i+=3;
                }
                else
                {
                    i+=2;
                    sum1+=27;
                }
            }
            else  if(s[i]=='Z'&&s[i+1]=='n')
            {
                if(s[i+2]>='2'&&s[i+2]<='9')
                {
                    sum1+=65*(s[i+2]-'0');
                    i+=3;
                }
                else
                {
                    i+=2;
                    sum1+=65;
                }
            }
        }
        printf("%04d\n",sum1*n);//输出的时候直接用%4d,不足的补前导零;
    }
    return 0;
}


安卓密室逃脱完美攻略 攻略 密室逃脱 第一关 Room1: 1.梳妆台上有一把刷子,拿起来。(大家玩这个游戏的时候,要多注意一下人物的对话,里面有很多提示。比如这一关,你如果注意女人的话,就知道结婚照是关键了。) 立即下载

相关推荐

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, MBD) 的开源自驾仪,可被用来快速构建无人机,无人车,无人船,机器人等平台的控制系统。 系统主要由两部分构成. FMT-Firmware: 一个基于C/C++开发的稳定、高性能的嵌入式系统. FMT-Model: 一个基于MATLAB/Simulink开发的仿真框架以及算法库. 昨天得知FMT开源飞控项目已经开

weixin_45786595的博客 2870

挑战密室(化学方程式)

Description R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。 Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映的是客观事实。因此书写化学方程式要遵守两个原则:一是必须以客观事

acm_hmj的博客 1794

深入浅出:CosineLRScheduler 调度器的原理与实战应用

本文深入解析了CosineLRScheduler调度器的核心原理与实战应用,详细介绍了余弦退火算法及其在深度学习模型训练中的优势。通过参数配置建议、PyTorch实现示例和常见问题解决方案,帮助开发者高效应用该调度器提升模型性能,特别适用于计算机视觉和自然语言处理任务。

sss66的博客 859

第一次密室逃脱回顾

密室逃脱的关键即关键(钥匙)。在第一个房间,工作人员提示:1. 把摆乱了的家具复原。2. 在房间里找线索。房间里有一个密码柜,所以关键是找密码。第一张密码提示纸条相对比较快找到了,但不足以打开密码锁。向工作人员求助(通过对讲机),告知需要把椅子脚对准地上的铁块。按提示操作,房间里电话响起。接听电话,听到第二部分密码提示信息。两部分信息拼接起来还是有点难度。打开密码柜,出现一个遥控器。按遥控器,墙上...

weixin_40768973的博客 1228

华为OD机试真题 新系统2026-04-08 C++ 实现【直捣黄龙】

小王在玩一款叫做直捣黄龙的小游戏,在该游戏中他需要从入口位置进入敌营,绕过哨兵的层层封锁,达到敌军司令部实施斩首行动。 敌军阵营是一个n*n的矩阵,入口在坐标(0,n/2),敌军司令部在坐标(n-1,n/2),每个 哨兵警戒以自己为中心的9宫格,一旦被哨兵发现则行动失败。

MISAYAONE的博客 261

YOLOv8改进 | Conv篇 | 利用YOLOv9的GELAN模块替换C2f结构(附轻量化版本 + 高效涨点版本 + 结构图)

本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的GELAN模块来改进YOLOv8中的C2f,GELAN融合了CSPNet和ELAN机制同时其中利用到了RepConv在获取更多有效特征的同时在推理时专用单分支结构从而不影响推理速度,同时本文的内容提供了两种版本一种是参数量更低涨点效果略微弱一些的版本(参数量V8n下降80w,计算量为6.1GFLOPs),另一种是参数量稍多一些但是效果要不参数量低的效果要好一些(均为我个人整理),提供两种版本是为了适配不同需求的读者,具体选择

Snu77的博客 7566

2017轻工业校赛 密室逃脱 异或运算 https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2133...

Description XOR在玩密室逃脱,在某一关中,桌上有一个一张纸,上面写着“请根据所给例子求解答案从而获得密码”,下面写了几个字符串“01 10 11”,而答案为“6”,聪明的XOR立马就知道了这是给出一些二进制数字S,求存在多少对有序二元组(i,j)使得S[i]^S[j]<S[i],现在还有T组数据,每组是n个长度为m的二进制数字,聪明的XOR立马开始动手求解答案。 ...

weixin_30268921的博客 399

模型瘦身术:YOLOv5无损剪枝实战教程

本文介绍了一种YOLOv5模型的无损剪枝方法,通过"稀疏训练+结构化剪枝+微调"的流程,在不损失精度的前提下显著减小模型尺寸并提升推理速度。具体步骤包括:1)稀疏训练给参数排优先级;2)裁剪不重要通道;3)微调恢复精度;4)验证效果。实战部分详细展示了从环境搭建到剪枝实现的完整流程,并分析了剪枝后在边缘设备部署、实时检测等场景的优势。该方法可使YOLOv5s模型从14MB缩减至2-3MB,推理速度提升30%-50%,适用于资源受限设备的轻量化部署需求。

LXY_LOVE36的博客 104

密室逃脱系列

密室逃脱系列

抢财猫股票课堂 4913

【基于CKF的IMM】CV和CT两个模型下的IMM,二维,滤波使用CKF(容积卡尔曼滤波),附完整的matlab代码

该文章摘要: 本文提出了一种基于交互多模型(IMM)和容积卡尔曼滤波(CKF)的融合定位算法,用于解决目标在直线运动和转弯机动之间的模型切换问题。通过MATLAB仿真实现了IMM-CKF算法,并与单一的CV-CKF(匀速模型)和CT-CKF(匀角速转弯模型)方法进行对比。实验结果表明,在包含直线段和转弯段的复合轨迹跟踪中,IMM-CKF方法能够自适应调整模型权重,显著提高了定位精度。轨迹跟踪图、位置/速度误差对比图以及模型概率曲线直观展示了IMM算法的优势。文章提供了完整的MATLAB实现代码,可用于目标跟

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 614

eCognition易康操作教程(二):多尺度分割基于多光谱数据构建规则集,结合DSM高程数据提取建筑物、树木和绿地

一、数据 数据来源:教程中的实验数据,共包含RGB三个波段,还有数字地表模型(以下简称DSM)文件。 图一 RGB影像 数据特征:数据范围较小,要素种类少,仅包含较多的建筑和大片的绿地。由于建筑的房顶使用的材料和材料颜色不同,所以建筑的光谱特征没有规律,是不连续的特征。而绿地的光谱特征则十分容易分辨。 但是建筑通常具有规则的形状,而且建筑相比于周围其他要素...

蒹葭苍苍 8302

NYOJ 1236 挑战密室

挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。   Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映的是

阿金的ACM 419

基于STM32设计的遥控灭火消防小车_296

随着城市化进程的加速和火灾发生频率的增加,传统的消防方式在应对初期火灾时存在反应慢、效率低等问题。为了提高火灾响应速度和灭火效率,本设计开发了一款基于STM32单片机的遥控灭火消防小车。该小车配备了烟雾检测、温湿度监测、火源定位、灭火操作等功能,能够通过蓝牙和WIFI实现远程控制与实时视频传输。设计采用了MQ2烟雾传感器、SHT30温湿度传感器、火光传感器和ESP32摄像头模块等硬件设备。系统不仅能够自动检测和定位火源,还可以手动调整灭火器对准位置,进行干粉灭火。此外,蜂鸣器用于火源报警,确保操作人员及时得

722

nyoj 1236 挑战密室(河南省第八届acm程序设计大赛)

题目1236题目信息运行结果本题排行讨论区 挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。   Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是

苏苏爱自由 2395

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

nyoj 1236-挑战密室

1236-挑战密室 内存限制:64MB 时间限制:1000ms 特判: No 通过数:42 提交数:86 难度:4 题目描述: R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。 Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式...

Rshs 182

jre9下载 jdk9

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

NYOJ1236 挑战密室

挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4              描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。   Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式

moonlight的博客 404

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

nyoj 1236 挑战密室

挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr.Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr.Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。   Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映的是客

楠先生 473

nyoj 1236 挑战密室 河南省ACM2015年省赛A题

挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。   Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反

leibniz_zhang的博客 496

NYOJ_1236_挑战密室

/* 挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr.Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr.Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。   Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程

持之以恒_fighting 411

nyoj 1236 挑战密室 第八届河南省程序设计大赛

挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。   Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映

数星星的夜晚 477

第八届河南省程序设计大赛~~挑战密室 nyoj 1236

挑战密室时间限制:1000 ms  |  内存限制:65535 KB难度:4描述R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。 Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映的是客观事实。因此书写化学方程式...

逆风飞翔 698

NYOJ1236 第八届acm省赛 A挑战密室

挑战密室时间限制:1000 ms  |  内存限制:65535 KB难度:4描述R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。 Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映的是客观事实。因此书写化学方程式...

残梦听雨 393

第八届河南省程序设计大赛-NYOJ-1236-挑战密室

挑战密室 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室。Dr. Kong必须尽快找到解锁密码逃离,否则几分钟之后,WTO密室即将爆炸。Dr. Kong发现密室的墙上写了许多化学方程式中。化学方程式,也称为化学反应方程式,是用化学式表示物质化学反应的式子。化学方程式反映的是客观事实。因此书

Prim 561

化学方程式系列( 试 制 品)(挑战密室)

试 制 品 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 ZZ大学的Dr.Kong最近发现实验室的很多试制品都已经用完。由于项目经费有限,为了节省,Dr.Kong决定利用实验室现有的试制品来生成所缺的试制品。为此,Dr.Kong连续几天通宵达旦整理出一份研究资料并让研究生Bill去实验并统计能产生多少种所缺的试制品。Bill从头到尾翻完所有的资料,发现资料上写

Merry_hj的博客 1482

经典小游戏(密室逃脱全集+答案)

      经典小游戏——密室逃脱全集(有答案) 转自月影梦魇原来玩过的一个小游戏 最近想起来想发给大家玩一下   有一点小难度的哦   看谁可以出得来密室   一共有三个密室 这三个游戏是有一点相连的 蓝色房间最难   绿色次之   红色最简单   答案我附在后面   不过要等玩完再看哦红色密室点击进入http://www.bohope.com/game/game1.swf绿色密室点击进入htt

冰淇淋色的天空 1万+
上一篇: Bnuoj 4315 美女来找茬
下一篇: 士兵杀敌(二)
落幕丶式
博客等级 码龄11年 2粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值