题目要求

P1994题目链接

分析

我太菜了,亏得我高中时期还虐(or被虐)生化,如今多年过去竟然没分析出来坑点,我太菜了。

我开始盲目认为“元素守恒”,所以对HHH原子数求和,

CxHyOzC_xH_yO_zCx​Hy​Oz​与氧气反应的化学方程式:
CxHyOz+(x+y4−z2)+O2→xCO2+y2H2OC_xH_yO_z+(x+\frac{y}{4}-\frac{z}{2})+O_2→xCO_2+\frac{y}{2} H_2OCx​Hy​Oz​+(x+4y​−2z​)+O2​→xCO2​+2y​H2​O

  • y2\frac{y}{2}2y​要是个整数,所以若yyy是个奇数,那就要×2\times2×2。
  • (x+y4−z2)(x+\frac{y}{4}-\frac{z}{2})(x+4y​−2z​)是个整数,因为xxx是个整数,所以要求(y4−z2)(\frac{y}{4}-\frac{z}{2})(4y​−2z​)是个整数,若此式不为整数,则继续×2\times2×2,即可配平为全整数系数。

AC代码(Java语言描述)

import java.util.Scanner;public class Main {private static int i = 0, c_counter = 0, h_counter = 0, o_counter = 0, temp = 0;private static char[] formula;private static int count() {int counter = 0;while (++i < formula.length && Character.isDigit(formula[i])) {temp *= 10;temp += formula[i]-'0';}if (temp == 0) {counter++;} else {counter += temp;temp = 0;}return counter;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);formula = scanner.nextLine().toCharArray();scanner.close();for ( ; i < formula.length; ) {switch (formula[i]) {case 'C':c_counter += count();break;case 'H':h_counter += count();break;default:o_counter += count();}}while ((h_counter & 1) != 0 || (h_counter - 2*o_counter) % 4 != 0) {c_counter <<= 1;h_counter <<= 1;o_counter <<= 1;}System.out.println(c_counter + " " + h_counter/2);}}

有机物燃烧的化学方程式配平(洛谷P1994题题解,Java语言描述)相关推荐

  1. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  2. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  3. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

  4. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

  5. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  6. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  7. 求子集元素之和(洛谷P2415题题解,Java语言描述)

    题目要求 P2415题目链接 分析 这题我觉得--当个数学题做就好了嘛. 有一个数N的情况:result = 1 * N 有两个数N1.N2的情况:result = 2 * (N1+N2) 有三个数N ...

  8. 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)

    题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...

  9. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

最新文章

  1. OpenCL框架与示例
  2. 如何区别一幅图像是否是黑白图像
  3. django开发Blog(1)
  4. 教小学四年级的计算机,小学四年级微机教学设计
  5. php创蓝253四要素认证_PHP下基于创蓝253接口的短信发送
  6. 前端学习(498):水平居中布局得第一种方式
  7. gcc预处理、编译、汇编、链接详解
  8. 四叶草启动linux黑屏,四叶草剧场黑屏进不去解决方法一览
  9. bootstrap table导出功能无效报错Uncaught INVALID_CHARACTER_ERR: DOM Exception 5和导出中文乱码问题...
  10. centos6配置mysql远程访问_一次成功的MySQL升级失败教训
  11. 计算机编码怎么记忆,怎样有效记忆数字编码?
  12. 计算机ppt闪耀效果在哪里,ppt怎样制作文字闪烁效果
  13. 小米系统shell_小米平板1(Mi Pad1) 采用神盾内核的 lineageOS 14.1 / 15.1 / 16.0 刷机教程...
  14. 如何制定项目PMO战略计划?
  15. self-startup command line(or CLI) in windows
  16. 【Linux】命令别名与历史命令(alise\history)
  17. 北邮信通2022C++大一上学期PTA汇总(含代码)(已完结)
  18. 薇电子学与计算机好中吗,微电子学与计算机是什么级别的期刊
  19. Java 之 assert (断言)
  20. 常微分方程组解稳定性的分析

热门文章

  1. 支持向量机——Large Margin Classifier
  2. python部分 + 数据库 + 网络编程
  3. 使用 js 设置组合快捷键,支持多个组合键定义,还支持 React
  4. puppet(2)-资源介绍
  5. 【JVM】类的生命周期【转+整理】
  6. 【Swift学习】Swift编程之旅(一)
  7. Python成长之路_装饰器
  8. 扬长避短使用Windbg和Visual Studio高效调试调试你的代码
  9. Android应用【世界杯知识答题】的界面设计经验
  10. 需求调研报告模板_2020年工业软管行业深度市场调研及投资策略建议报告-液体化学品增加对其需求...