ACM模版

描述


题解

这是第八届河南 ACM 省赛的第一题好像,和去年的第一题表达式求值有相似之处,但是由于这个题目明确提示,不会有嵌套,所以不必使用栈,直接模拟一遍就可以了。感觉比去年的那个要简单很多。可是难度等级却比去年的还高……

代码

#include <iostream>
#include <cstring>
#include <map>
#include <cstdio>
#include <string>using namespace std;map<string, int> msi;void init()
{msi["N"] = 14;msi["C"] = 12;msi["O"] = 16;msi["Cl"] = 35;msi["S"] = 32;msi["H"] = 2;msi["Al"] = 27;msi["Ca"] = 40;msi["Zn"] = 65;msi["Na"] = 23;
}int main()
{init();int K;cin >> K;string s;while (K--){cin >> s;int i = 0;while (s[i] != '='){i++;}i++;int coe = 0;while (s[i] >= '0' && s[i] <= '9'){coe *= 10;coe += s[i] - '0';i++;}if (coe == 0){coe = 1;}int res = 0;int tmp, n;while (s[i] != '+' && i < s.length()){if (s[i] == '('){i++;tmp = 0;int tmp_;while (s[i] != ')'){if (s[i] == 'N'){if (s[i + 1] == 'a'){tmp_ = msi["Na"];i++;}else{tmp_ = msi["N"];}}else if (s[i] == 'C'){if (s[i + 1] == 'a'){tmp_ = msi["Ca"];i++;}else if (s[i + 1] == 'l'){tmp_ = msi["Cl"];i++;}else{tmp_ = msi["C"];}}else if (s[i] == 'A'){tmp_ = msi["Al"];i++;}else if (s[i] == 'Z'){tmp_ = msi["Zn"];i++;}else{string a = "";tmp_ = msi[a + s[i]];}i++; int n_ = 0;while (s[i] >= '0' && s[i] <= '9'){n_ *= 10;n_ += s[i] - '0';i++;}if (n_ == 0){n_ = 1;}tmp += tmp_ * n_; }goto tag;}if (s[i] == 'N'){if (s[i + 1] == 'a'){tmp = msi["Na"];i++; }else{tmp = msi["N"];}}else if (s[i] == 'C'){if (s[i + 1] == 'a'){tmp = msi["Ca"];i++;}else if (s[i + 1] == 'l'){tmp = msi["Cl"];i++;}else{tmp = msi["C"];}}else if (s[i] == 'A'){tmp = msi["Al"];i++;} else if (s[i] == 'Z'){tmp = msi["Zn"];i++;}else{string a = "";tmp = msi[a + s[i]];}tag:i++;        n = 0;while (s[i] >= '0' && s[i] <= '9'){n *= 10;n += s[i] - '0';i++;}if (n == 0){n = 1;}res += tmp * n;}printf("%04d\n", res * coe);}   return 0;
}

NYOJ-1236-挑战密室相关推荐

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

    挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室.Dr. Kong必须尽快找到解锁密码逃 ...

  2. 第八届河南省省赛 A.挑战密室

    挑战密室时间限制:1000 ms | 内存限制:65535 KB 难度:4描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室.Dr. Kong必须尽快找到解锁密码逃离,否则 ...

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

    试 制 品 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 ZZ大学的Dr.Kong最近发现实验室的很多试制品都已经用完.由于项目经费有限,为了节省,Dr.Kong决定利用实 ...

  4. 挑战密室(化学方程式)

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

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

    挑战密室 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室.Dr. Kong必须尽快找到解锁密码逃 ...

  6. Steam中国正式定名“蒸汽平台”

    Steam中国正式定名"蒸汽平台" 8月21日,Steam中国终于正式定名,新名叫做:"蒸汽平台".Steam中国(蒸汽平台)几乎完全独立于Steam,游戏库也 ...

  7. 《挑战程序设计竞赛(第2版)》习题册攻略

    本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...

  8. 聚观早报|饿了么星选停止运营;百度2022财报全年营收1236.75亿元

    今日要闻:饿了么星选停止运营:百度2022财报全年营收1236.75亿元:微软收购暴雪获力挺:全国首例!这一代练平台被叫停:现代汽车已开始在美国生产电动汽车 饿了么星选停止运营 2 月 22 日,饿了 ...

  9. 数字化转型的趋势、挑战与战略

    ​     数字化转型需要结合企业自身案例的痛点进行细分,逐步用技术手段替代人工的操作. 在全球经济进入数字化转型时期,数字化转型已成为传统企业必须付诸行动的必选题.企业为什么要进行数字化转型?如何把 ...

  10. 一个老的游戏,据说全世界只有不到4000人可以走出房间.密室逃脱--之“天蓝色房间”...

    前面发布了: 一:密室逃脱--之"深红色房间" 二:密室逃脱--之"天蓝色房间" 三:密室逃脱--之"天蓝色房间" 完结版 密室游戏已经全部 ...

最新文章

  1. Python基础学习!基本元素,数字,字符串以及变量
  2. php common errors
  3. 17. 搭建FTP服务端
  4. 计算机基础教案(XP操作系统)
  5. Windows下nginx-http-flv-module服务部署
  6. buu Dangerous RSA
  7. B - 一只小蜜蜂...
  8. Java的深度:通过协方差暴露的API泄漏
  9. java调用android_Java及Android中常用链式调用写法简单示例
  10. Memcached windows 下安装与应用
  11. Google搜索命令语法大全
  12. STM8单片机STVD环境新建工程笔记
  13. VC中的_variant_t和_bstr_t
  14. 颂钵带给我们是什么感受
  15. 【读书笔记】马化腾:先人一步-冷湖,腾讯成长之路:模仿+学习+实践+创新+合作+超越
  16. vue项目中加载使用腾讯地图
  17. 入门,前后端实现简单账号密码登录
  18. Redis基本数据类型和使用场景
  19. C语言指针 * 和 总结
  20. 《混沌映射与比特重组的图像加密》(平萍等)一文的算法改进和展望

热门文章

  1. uni-app卖座电影多端开发纪实(三):MVC
  2. 以30字符宽居中输出python字符串_python基础--字符串
  3. 人与人之间最难得的,就一个字!(精辟)
  4. 多个快递拒收后,该如何快速查询到全部物流
  5. (34)2021-02-24(ES6变量的解构赋值)
  6. 机器学习 --- 多分类学习
  7. 去除首尾空格,以及去除逗号两边空格
  8. mysql 字段名字有空格_mysql 字段名字包含空格引发的问题
  9. 一看就懂 详解redis的bitmap(面试加分项)
  10. 写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实