挑战密室(化学方程式)
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;
}
挑战密室(化学方程式)相关推荐
- 化学方程式系列( 试 制 品)(挑战密室)
试 制 品 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 ZZ大学的Dr.Kong最近发现实验室的很多试制品都已经用完.由于项目经费有限,为了节省,Dr.Kong决定利用实 ...
- 第八届河南省省赛 A.挑战密室
挑战密室时间限制:1000 ms | 内存限制:65535 KB 难度:4描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室.Dr. Kong必须尽快找到解锁密码逃离,否则 ...
- 第八届河南省程序设计大赛~~挑战密室 nyoj 1236
挑战密室 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室.Dr. Kong必须尽快找到解锁密码逃 ...
- NYOJ--1236--挑战密室(第八届河南省程序设计大赛)
挑战密室 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 R组织的特工Dr. Kong 为了寻找丢失的超体元素,不幸陷入WTO密室.Dr. Kong必须尽快找到解锁密码逃 ...
- Steam中国正式定名“蒸汽平台”
Steam中国正式定名"蒸汽平台" 8月21日,Steam中国终于正式定名,新名叫做:"蒸汽平台".Steam中国(蒸汽平台)几乎完全独立于Steam,游戏库也 ...
- 数字化转型的趋势、挑战与战略
数字化转型需要结合企业自身案例的痛点进行细分,逐步用技术手段替代人工的操作. 在全球经济进入数字化转型时期,数字化转型已成为传统企业必须付诸行动的必选题.企业为什么要进行数字化转型?如何把 ...
- 一个老的游戏,据说全世界只有不到4000人可以走出房间.密室逃脱--之“天蓝色房间”...
前面发布了: 一:密室逃脱--之"深红色房间" 二:密室逃脱--之"天蓝色房间" 三:密室逃脱--之"天蓝色房间" 完结版 密室游戏已经全部 ...
- CSP 201912-3 化学方程式 100分
这是我的第二篇博客,小学期的程序设计课程设计告一段落,内容是完成201912的CSP认证考题,我完成了前三题.攻克难题还是非常有成就感的,所以发博客纪念一下.最近也是在进行ACM的训练,希望自己能再接 ...
- 《密室逃生》将映 六人密室游戏成搏命赌局
中新网客户端北京1月13日电 12日,电影<密室逃生>在全国上百个城市举办提前观影活动,上万名观众率先观看了这部电影.该片由美国哥伦比亚影片公司出品,由<速度与激情>系列金牌制 ...
最新文章
- 人体解析--Look into Person: Self-supervised Structure-sensitive Learning
- uwb定位算法c++代码_一指连小米UWB技术发布!手机一指,就能操控
- 【原创】RabbitMQ 之 TTL 详解(翻译)
- nginx中configure脚本支持的常用选项,拍摄自《Nginx高性能Web服务器详解》
- 恭贺微软技术俱乐部苏州站正式成立
- mac中apache服务器及虚拟主机配置
- 前端学习(2358):v-bind和v-for
- php实现购物车 redis,redis 哈希数据类型简单操作(实现购物车案例)
- 复旦大学在职MBA项目2011年度学费调整通知
- 首次自动对接!美国离本土载人航天又进一步,SpaceX成功抵达国际空间站
- python创建双链表_Python双链表原理与实现方法详解
- linux debian 8.3 发布时间,Robolinux 8.3 发布下载,基于 Debian 的 Linux 发行
- 中小型公司***的配置及NAT应用案例
- NYOJ455 - 黑色帽子
- OPPO发布小布虚拟人,开放面向开发者的多元AI能力
- 腾讯兔小巢是什么?零代码如何连接企业微信机器人
- BH1750 光照传感器文档详解 及 驱动设计
- HTTP API接口规范
- 双显示器扩展怎么设置上下扩展
- 大数据学习内容及方法
热门文章
- 【桌面开发】vscode+Debugger-For-NWjs+nwjs-sdk-vx.x.x-xxos调试环境搭建
- python成绩统计系统xlwings_科学网—利用Python扩展Excel能力的xlwings库使用体会 - 丁祥欢的博文...
- 值得记住的爱情箴言(1)——阿牛我收藏的
- 2018-2019 ACM-ICPC南京 M. Mediocre String Problem(SAM+PAM)
- CSS——图片自适应宽高
- 难道真的有人因为要分享squish测试工具而去学习QT吗
- 计算机视觉论文总结系列(三):OCR篇
- 研究方法、技术路线、实验手段和关键技术的写法
- Linux环境下使用WIFI模块:WIFI驱动移植
- 实现链队各种基本运算的算法