CSP化学方程式配平(简单易懂)

100分代码:

check():检查每个字符串中元素及其数量
did(int i , int x , int y):将第 i 行的第 y 个数前都是0,第 y 个数开始不是0,根据第 x 行将第 i 行第 y 个数开始的数变成0
map<string , int>mp : 将元素 和 数字编号 相对应
setst : 给每一个元素对应一个数字编号,顺序就是进入set的顺序,也就是出现的顺序
double a[50][50] : a[i][j]表示编号为 i 的字符串出现在第 j 个式子中的数量
res : 高斯消元后最终的秩
m : 未知数的个数

#include<bits/stdc++.h>
using namespace std;const int  MAXN = 110;
const int MAXT = 10000;int n , m;
map<string , int>mp;
set<string>st;
double a[50][50];void check(string s , int x){int len = s.size();for(int i = 0 ; i < len ; i++){string z = "";int k = 0;if(s[i] >= 'a' && s[i] <= 'z'){z += s[i];while(s[i+1] >= 'a' && s[i+1] <= 'z'){z += s[i+1];i++;}i++;if(s[i] >= '0' && s[i] <= '9'){k = k * 10 + (s[i] - '0');while(s[i+1] >= '0' && s[i+1] <= '9'){k = k * 10 + (s[i+1] - '0');i++;}}if(st.find(z) == st.end()){st.insert(z);mp[z] = st.size();a[mp[z]][x] = k;}elsea[mp[z]][x] = k;}}
}
void did(int i , int x , int y){double k1 = a[i][y] ;double k2 = a[x][y];for(int j = 0 ; j < m ; j++){a[i][j] = a[i][j] - a[x][j] * k1 / k2;}
}
int main(){cin >> n;while(n--){cin >> m;mp.clear();st.clear();memset(a , 0.0 , sizeof(a));for(int i = 0 ; i < m ; i++){string s;cin >> s;check(s,i);}if(st.size() == 1){cout << "Y" << endl;continue;}for(int i = 2 ; i <= st.size() ; i++){for(int j = 0 ; j < m ; j++){if(a[i][j] == 0)continue;int num1 = -1;int num2 = -1;for(int z = 1 ; z < i ; z++){for(int k = 0 ; k < m ; k++){if(a[z][k] == 0)continue;else{if(k == j){num1 = z;num2 = k;break;}break;}}if(num1 != -1)break;}if(num1 == -1)break;did(i,num1,num2);j = -1;}}int res = 0;for(int i = 1 ; i <= st.size() ; i++){for(int j = 0 ; j < m ; j++){if(a[i][j] == 0)continue;else{res++;break;}}}if(res < m)cout << "Y" << endl;elsecout << "N" << endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/16687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode打卡#day30 93. 复原 IP 地址、78. 子集、 90. 子集 II

93. 复原 IP 地址 class Solution { private:vector<string> result;//判断Ip字段是否合法bool isValid(string& s, int startIndex, int endIndex) {if (startIndex > endIndex) return false;//以0开头 -- 无效数字if (s[startIndex] 0 && startIndex…

代码+视频,总结R语言常用的几种按条件转换数据的方法

在科学研究中免不了和数据打交道&#xff0c;收集到原始数据后我们经常需要对其进行清洗、转换才能得到我们需要的数据。 今天我总结了一下自己常用的一些多条件的数据转换方法&#xff0c;在临床中遇到问题能多一种选择&#xff0c;下面视频操作演示一下 总结R语言常用的几种按…

深度学习 --- stanford cs231 编程作业(如何在chrome中安装Google colab)

stanford cs231 编程作业(如何开始你的colab编程&#xff09; 斯坦福231n的所有作业都要求在colab里面做&#xff0c;colab可以为你提供免费的云计算。实际上在他的官网中也有关于如何安装colab的详细说明视频。 https://youtu.be/DsGd2e9JNH4https://youtu.be/DsGd2e9JNH4 我这…

springboot集成mybatis 单元测试

1、依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…

MATLAB 相移法计算绝对相位

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 继续之前博客的内容(Matlab 结构光相移法(单频多相)),通过相移算法计算出的相位主值必 ϕ ( x , y ) \phi(x,y)

Unity入门理论+实践篇之Luna

创建世界的主角 父子物体 首先创建一个cube物体 可以观察到其在2D视角下的坐标为&#xff08;0&#xff0c;0&#xff09; 此时将cube物体拖拽到ldle_0下&#xff0c;如图所示&#xff0c;并将其坐标值改为&#xff08;2&#xff0c;2&#xff09; 此时再将ldle_0物体的坐标…

95.网络游戏逆向分析与漏洞攻防-ui界面的设计-ui的设计与架构

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

基于jeecgboot-vue3的Flowable新建流程定义(二)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 接上一节 4、编辑好后进行保存&#xff0c;保存代码如下&#xff1a; /*保存流程定义*/const save (data: any) > {//console.log("save data", data); // { process: {..…

python从入门到精通05

一、输入身份证号码输出对应省份 id_number "4313212002" province_code id_number[0] id_number[1] province_code_list {43:"湖南"} print("身份证号对应省份是&#xff1a;",province_code_list[province_code]) 二、统计需要取快递人员…

博客增长与数据分析:不可不知的 6 大策略

CSDN 的朋友你们好&#xff0c;我是何未来&#xff0c;一个热爱编程和写作的计算机本科生&#xff0c;今天给大家带来专栏【程序员博主教程&#xff08;完全指南&#xff09;】的第 11 篇文章“分析和追踪博客表现”。本篇文章为你揭示了如何通过数据洞察来优化你的技术博客&am…

-bash: locate: 未找到命令(解决办法)

-bash: locate: 未找到命令的解决办法 一、解决办法二、什么是locate三 、locate命令的具体用法 一、解决办法 CentOS7默认没有安装locate命令&#xff0c;安装方式如下&#xff1a; 执行以下命令进行安装&#xff1a; yum install mlocate用 updatedb 指令创建 或更新locate …

数学建模--LaTeX基本介绍和入门

1.引言 &#xff08;1&#xff09;上次我们介绍到了我们这个团队第一次参加这个数学建模比赛&#xff0c;就是这个电工杯&#xff0c;我是一名论文手&#xff0c;我们在这个下午也是对于这个比赛过程中出现的问题做了相应的分析&#xff0c;每个人也是进行了反思&#xff0c;知…

Tomcat源码解析(七):底层如何获取请求url、请求头、json数据?

Tomcat源码系列文章 Tomcat源码解析(一)&#xff1a;Tomcat整体架构 Tomcat源码解析(二)&#xff1a;Bootstrap和Catalina Tomcat源码解析(三)&#xff1a;LifeCycle生命周期管理 Tomcat源码解析(四)&#xff1a;StandardServer和StandardService Tomcat源码解析(五)&…

golang实现mediasoup的tcp服务及channel通道

tcp模块 定义相关类 Client&#xff1a;表示客户端连接&#xff0c;包含网络连接conn、指向服务器的指针Server和Channel指针c。server&#xff1a;表示TCP服务器&#xff0c;包含服务器地址address、TLS配置config以及三个回调函数&#xff1a; onNewClientCallback&#xf…

最大连续1的个数(滑动窗口)

算法原理&#xff1a; 这道题大眼一看是关于翻转多少个0的问题&#xff0c;但是&#xff0c;如果你按照这种思维去做题&#xff0c;肯定不容易。所以我们要换一种思维去做&#xff0c;这种思维不是一下就能想到的&#xff0c;所以想不到也情有可原。 题目是&#xff1a;给定一…

Vue3:动态路由+子页面(新增、详情页)动态路由配置(代码全注释)

文章目录 实现思路调用后端接口获取用户权限获取页面权限动态绑定到路由对象中动态添加子页面路由 实现思路 emm&#xff0c;项目中使用动态路由实现根据后端返回的用户详情信息&#xff0c;动态将该用户能够访问的页面信息&#xff0c;动态生成并且绑定到路由对象中。但是后…

如何从清空的回收站中恢复已删除的Excel文件?

“嗨&#xff0c;几天前我删除了很多没有备份的Excel文件。回收站已清空。当我意识到我犯了一个大错误时&#xff0c;所有的Excel文件都消失了&#xff0c;回收站里什么都没有。清空回收站后是否可以恢复已删除的 Excel 文件&#xff1f; 回收站是一种工具&#xff0c;可让您在…

LeetCode 343. 整数拆分 (dp动态规划)

343. 整数拆分 力扣题目链接(opens new window) 给定一个正整数 n&#xff0c;将其拆分为至少两个正整数的和&#xff0c;并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2输出: 1解释: 2 1 1, 1 1 1。 示例 2: 输入: 10输出: 36解释: 10 3 …

【openlayers系统学习】4.2Mapbox 样式渲染图层

二、Mapbox 样式渲染图层 显然我们目前的地图需要一些样式。 VectorTile​ 图层的样式与 Vector​ 图层的样式工作方式完全相同。那里描述的样式在这里也适用。 对于这样的地图&#xff0c;创建数据驱动的样式&#xff08;对矢量图层操作&#xff09;非常简单。但矢量切片也用…

单兵组网设备+指挥中心:集群系统技术详解

一、单兵设备功能特点 单兵组网设备是现代通信技术的重要成果&#xff0c;旨在为单个作战或工作单元提供高效的通信和数据传输能力。其主要功能特点包括&#xff1a; 1. 便携性&#xff1a;设备轻巧&#xff0c;便于单兵携带和使用&#xff0c;适应各种复杂环境。 2. 通信能…