ccfcsp化学方程式java_CCF/CSP 化学方程式

该博客介绍了如何使用Java解析CCF/CSP中的化学方程式。通过分割等号和加号,利用栈来处理括号内的化学式,并统计每个元素的数量。博主提供了详细的解题思路和示例,以及一段示例代码,帮助读者理解解题过程。最终,通过比较等号两边的化学式统计结果来判断方程式是否平衡。
摘要由CSDN通过智能技术生成

a361477e2386

题目版权归来源方所有

a361477e2386

题目版权归来源方所有

a361477e2386

判题结果

【解题思路】: 【栈】

1.分割等号 ‘=’ ,左右两边是一致的解题方式

2.再分割加号 ‘+’ ,对每一个化学式进行统计

3.对于存在括号嵌套的情况下,使用栈进行匹配

【示例】:以 4Al(Cu(OH)2)3 为例(瞎写的,我的化学已经还给老师了)

1.先获得化学式最前面的系数,在这里是 4,如果没有就设为 1;

2.有两个栈,一个num存放数字,一个fu(随便起的)存放符号(包括括号和化学式的项)

一开始:

num 1 1 1 1

fu Al ( Cu ( O H

如果化学式后面没有系数,那么就设为1,在这里需要判断是O这种只有一个大写字母项的形式还是Al这种两个字母的项的形式。遇到左括号直接入符号栈。

遇到 ‘)’:

num 1 1 2 2

fu Al ( Cu O H

一直出栈到遇到左括号,用辅助栈把因为括号出栈的数字和符号暂时存储&#

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值