当前位置: 首页 > news >正文

【化学方程式配平 / 3】

题目

代码

#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
unordered_map<string, int> e;
int eidx, midx; //eidx 元素数, midx 物质数
double matrix[45][45];
int q;
bool check_alpha(char c)
{if(c >= 'a' && c <= 'z') return true;return false;
}
bool gauss(int n, int m)
{//if(n < m) return false;int c, r, t;for(c = 1, r = 1; c <= m; c++){t = r;for(int i = r+1; i <= n; i++) //找主元{if(fabs(matrix[i][c]) > fabs(matrix[t][c])) t = i;}if(fabs(matrix[t][c]) < eps) continue;for(int i = c; i <= m+1; i++) //交换{swap(matrix[r][i], matrix[t][i]);}for(int i = m+1; i >= c; i--) //归一化{matrix[r][i] /= matrix[r][c];}for(int i = r+1; i <= n; i++) //上三角化{for(int j = m+1; j >= c; j--){matrix[i][j] -= matrix[i][c] * matrix[r][j];}}r++;}if((r-1) < m) return true;else return false;
}
int main()
{cin >> q;while (q -- ){memset(matrix, 0, sizeof matrix);e.clear();eidx = 0;cin >> midx;for(int i = 1; i <= midx; i++){string s;cin >> s;string name = "";for(int j = 0; s[j] != '\0'; j++){if(!check_alpha(s[j])){string num = "";num += s[j];while(s[++j] != '\0' && !check_alpha(s[j])){num += s[j];}j--;if(!e.count(name)) e[name] = ++eidx;matrix[e[name]][i] = stoi(num);name = "";}else name += s[j];}}if(gauss(eidx, midx)) cout << "Y" << endl;else cout << "N" << endl;}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ubuntu 22.04安装NVIDIA驱动和CUDA
  • 华为海思招聘-芯片与器件设计工程师-数字芯片方向- 机试题——(共九套)(每套四十题)
  • Sentinel-1 Level 1数据处理的详细算法定义(十)
  • VUE使用websocket
  • 跑Boundary-Aware Feature Propagation遇到的问题
  • 【法如faro】三维激光软件Scene2023数据处理(自动配准并转换坐标)流程
  • 【kafa系列】kafka如何保证消息不丢失
  • 常用git命令
  • 提高工作效益方法(一)
  • 循环流网络的费用问题
  • JavaScript 练习题是提升编程技能的好方法
  • 华为云征文|基于Flexus云服务器X实例的应用场景-部署脚手架开源项目若依
  • ECMAScript和JavaScript区别
  • Spring 源码解读:JavaConfig与XML配置的对比实现
  • 汉诺塔递归解决思路图解分析,python代码实现
  • [译]如何构建服务器端web组件,为何要构建?
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Angular4 模板式表单用法以及验证
  • C++入门教程(10):for 语句
  • Java方法详解
  • Laravel5.4 Queues队列学习
  • MaxCompute访问TableStore(OTS) 数据
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • nginx 配置多 域名 + 多 https
  • quasar-framework cnodejs社区
  • Solarized Scheme
  • 程序员最讨厌的9句话,你可有补充?
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 浅谈Golang中select的用法
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 听说你叫Java(二)–Servlet请求
  • 在Docker Swarm上部署Apache Storm:第1部分
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • PostgreSQL之连接数修改
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ‌移动管家手机智能控制汽车系统
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • #职场发展#其他
  • $.ajax()
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (Java入门)学生管理系统
  • (回溯) LeetCode 131. 分割回文串
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • ****Linux下Mysql的安装和配置
  • .cfg\.dat\.mak(持续补充)
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net dataexcel winform控件 更新 日志
  • .net framework4与其client profile版本的区别
  • .NET Framework杂记
  • .net 获取url的方法
  • .NET 中创建支持集合初始化器的类型
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .net连接oracle数据库
  • .NET学习全景图