Description

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

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

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

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

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

N

C

O

Cl

S

H

Al

Ca

Zn

Na

14

12

16

35

32

2

27

40

65

23

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


Input

第一行: K 表示有K个化学方程式;

接下来有K行,每行为一个化学方程式

2≤K≤8 ,化学方程式的长度不超过50, 所有原子,分子的数量不超过9.小括号最多一层.

Output

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

Sample Input
3
2C+O2=2CO
2NaOH+H2SO4=Na2SO4+2H2O
Ca2CO3+H2O=Ca2(OH)2+CO2

Sample Output
0056
0142
0116

HINT

Source

第八届河南省赛

省赛眼看就要到了,觉得接触算法还是太晚,什么都不懂,什么都不会就要开始准备比赛了,觉得时间太紧,毕竟自己是第一次参加大型的比赛(高中太水),想着自己能给挑战一下自己,明年继续来战,好了,不水了,找了去年的题目试试。╮(╯▽╰)╭,还是太差,对自己实在不满意。。。关键有括号,有数字,有括号外数字,各种情况都好考虑,就是写代码判断,计算。

#include <stdio.h>
#include <string.h>
char che[10][3]={"N","C","O","Cl","S","H","Al","Ca","Zn","Na"};
int val[10]={14,12,16,35,32,2,27,40,65,23};int tonum(char str[])
{for(int i=0;i<10;i++)if(strcmp(str,che[i])==0)return val[i];
}int main()
{int ncase;char str[500];scanf("%d",&ncase);while(ncase--){memset(str,0,sizeof(str));scanf("%s",str);bool flag=false;int k=0;char A[55];memset(A,0,sizeof(A));for(int i=0;i<strlen(str);i++){if(flag&&str[i]=='+')break;if(str[i]=='='){flag=true;continue;}if(flag){A[k++]=str[i];}}char ch[3];int sum=0,head=1,star=0,n;if(A[0]>='0'&&A[0]<='9')head=A[0]-'0',star=1;for(int i=star;i<k;i++){memset(ch,0,sizeof(ch));n=1;if(A[i]=='('){i++;int temp=0;while(A[i]!=')'&&i<k){memset(ch,0,sizeof(ch));if((A[i]>='A'&&A[i]<='Z')&&(A[i+1]>='a'&&A[i+1]<='z')){if(A[i+2]>='0'&&A[i+2]<='9')n=A[i+2]-'0';ch[0]=A[i];ch[1]=A[i+1];ch[2]='\0';i++;temp+=n*tonum(ch);}else if((A[i]>='A'&&A[i]<='Z')&&!(A[i+1]>='a'&&A[i+1]<='z')){if(A[i+1]>='0'&&A[i+1]<='9')n=A[i+1]-'0';ch[0]=A[i];ch[1]='\0';temp+=n*tonum(ch);}i++;}if(A[i+1]>='0'&&A[i+1]<='9')n=A[i+1]-'0';sum+=n*temp;}else if((A[i]>='A'&&A[i]<='Z')&&(A[i+1]>='a'&&A[i+1]<='z')){if(A[i+2]>='0'&&A[i+2]<='9')n=A[i+2]-'0';ch[0]=A[i];ch[1]=A[i+1];ch[2]='\0';i++;sum+=n*tonum(ch);}else if((A[i]>='A'&&A[i]<='Z')&&!(A[i+1]>='a'&&A[i+1]<='z')){if(A[i+1]>='0'&&A[i+1]<='9')n=A[i+1]-'0';ch[0]=A[i];ch[1]='\0';sum+=n*tonum(ch);}}sum=sum*head;if(sum<10)printf("000%d\n",sum);else if(sum<100)printf("00%d\n",sum);else if(sum<1000)printf("0%d\n",sum);elseprintf("%d\n",sum);}return 0;
} 

挑战密室(化学方程式)相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. CSP 201912-3 化学方程式 100分

    这是我的第二篇博客,小学期的程序设计课程设计告一段落,内容是完成201912的CSP认证考题,我完成了前三题.攻克难题还是非常有成就感的,所以发博客纪念一下.最近也是在进行ACM的训练,希望自己能再接 ...

  9. 《密室逃生》将映 六人密室游戏成搏命赌局

    中新网客户端北京1月13日电 12日,电影<密室逃生>在全国上百个城市举办提前观影活动,上万名观众率先观看了这部电影.该片由美国哥伦比亚影片公司出品,由<速度与激情>系列金牌制 ...

最新文章

  1. mxnet迁移学习 注释版
  2. C++11特性(模板类 initializer_list)
  3. LeetCode第 3 场双周赛(2019.6.29)第一题:小于 K 的两数之和
  4. GDCM:gdcm::SwapperDoOp的测试程序
  5. python学习-列表的操作(常用函数均会介绍)
  6. Google高性能RPC框架gRPC 1.0.0发布
  7. 算力云服务器是干啥的,云服务器将成趋势计算力和安全性是考验
  8. 关于前端学习路线的一些建议(值得零基础拥有)
  9. 【多线程系列】之生产者消费者问题
  10. 农业银行王敬东——金融科技时代商业银行战略模式选择初探
  11. java64字节指令包,JVM 字节码指令解析
  12. Win8.1部署 .NET Framework 3.5 安装方式汇总
  13. 神舟linux装win7教程,神舟战神G70装win7系统及bios设置教程(神舟G70台式机win10改win7)...
  14. ShuffleNet模型解读
  15. Toast调整显示位置
  16. Unity手机游戏广告接入的大致思路(Android和iOS)
  17. createjs之easeljs【游戏看你有多色(一)】
  18. 【CSDN|每日一练】走楼梯
  19. 基于JAVA校内图书馆智能管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  20. Angular动态绑定HTML文本

热门文章

  1. Android开发——手把手写APP(二)QQ退出对话框动画模拟
  2. 小程序界面部分空白适配iPhone X
  3. 行内元素与块级元素的区别,行内元素与块级元素分别有哪些
  4. MySQL入门教程系列-1.1 数据库基础
  5. pipe 半双工_管道为什么是半双工的呢?
  6. bzoj1026 Windy数
  7. 网络段子爬虫程序加强版-Scrapy框架
  8. 使用 multipass 管理 Ubuntu VMs
  9. idea 解决报错 Artifact web:war exploded: Error during artifact deployment. See server log for details.
  10. Flex AIR应用的启动闪屏(必须)