Day11 备战CCF-CSP练习
Day 11
题目描述
题目很长,就不赘述了(主要是懒得写)
题目解析
Gauss 消元
题目的提示很明显,将元素守恒作为建立等式的基础。只要满足每一行元素守恒,即\(x_1 + x_2 + ··· + x_n = 0\)即可
元素个数为\(m\),物质个数为\(n\),增广矩阵的大下为\(m * (n + 1)\),Gauss消元时间复杂度为\(O(m n^2)\) 数据量很小
要注意的是,这里有个特解,比如\(x_1 = x_2 = x_3 = ··· = x_n = 0\)一定是成立的,但是在题干描述中并不合法,所以在\(rankA = n\)时还是要求出具体的解,判断一下特解
C++代码
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
const double eps = 1e-10;
int T;
int n;
map<string , int> mp;
int idx = 0;
double g[N][N];
void process_str(int k , string x)
{
int i = 0;
while(i < x.size())
{
string s = "";
while(i < x.size() && !isdigit(x[i])) s += x[i ++];
int amount = 0;
while(i < x.size() && isdigit(x[i])) amount = amount * 10 + x[i ++] - '0';
if(!mp.count(s)) mp[s] = idx ++;
g[mp[s]][k] = amount;
}
}
int gauss()
{
int c, r;
for (c = 0, r = 0; c < n; c ++ )
{
int t = r;
for (int i = r; i < idx; i ++ )
if (fabs(g[i][c]) > fabs(g[t][c]))
t = i;
if (fabs(g[t][c]) < eps) continue;
for (int i = c; i <= n; i ++ ) swap(g[t][i], g[r][i]);
for (int i = n; i >= c; i -- ) g[r][i] /= g[r][c];
for (int i = r + 1; i < idx; i ++ )
if (fabs(g[i][c]) > eps)
for (int j = n; j >= c; j -- )
g[i][j] -= g[r][j] * g[i][c];
r ++ ;
}
if (r < n)
{
for (int i = r; i < idx; i ++ )
if (fabs(g[i][n]) > eps)
return 0; // 无解
return 1;
}
for (int i = idx - 1; i >= 0; i -- )
for (int j = i + 1; j < n; j ++ )
g[i][n] -= g[i][j] * g[j][n];
bool f = true;
for(int i = 0 ; i < idx ; i ++)
f &= (g[i][n] < eps);
if(f) return 0;
return 1;
}
void solve()
{
memset(g , 0 , sizeof g);
mp.clear();
idx = 0;
cin >> n;
for(int i = 0 ; i < n ; i ++)
{
string x;
cin >> x;
process_str(i , x);
}
if(gauss()) cout << "Y\n";
else cout << "N\n";
}
int main()
{
cin >> T;
while(T --)
{
solve();
}
return 0;
}
Day11 备战CCF-CSP练习的更多相关文章
- CCF CSP 认证
参加第八次CCF CSP认证记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四 ...
- CCF CSP 201609-2 火车购票
题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...
- CCF CSP 201703-3 Markdown
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...
- CCF CSP 201703
CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...
- CCF CSP 201312-3 最大的矩形
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...
- CCF CSP 201609-3 炉石传说
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...
- CCF CSP 201403-3 命令行选项
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-3 命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些 ...
- CCF CSP 201709-4 通信网络
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...
- CCF CSP 201409-3 字符串匹配
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-3 字符串匹配 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那 ...
- CCF CSP 201503-3 节日
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-3 节日 问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形 ...
随机推荐
- jmeter使用之数据关联
- 阿里云OSS前端直传
注意: oss直传request与global对象冲突 <script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-6.9.0.m ...
- Java虚拟机代码是如何一步一步变复杂且难以理解的?
有相关统计数据显示,Java开发者有1000万+,这么多的人每天都在使用Java虚拟机进行开发,不过真正看过虚拟机代码的人应该非常非常少吧,可能有些人研究过,不过由于Java虚拟机是一个高度复杂的系统 ...
- ubuntu nginx + php7.2 + mysql5.7环境搭建
一.换源 备份原来的源 sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 更换源 sudo gedit /etc/apt/sources ...
- 代码随想录第八天| Leecode 344. 反转字符串、Leecode 541 反转字符串 II
Leecode 344 反转字符串 题目链接:https://leetcode.cn/problems/reverse-string/description/ 题目描述 编写一个函数,其作用是将输入的 ...
- 信息资源管理综合题之“X大师设计瓷砖给公司生产并检验和销售”
一.X大师是一位德高望重的设计大师,现在为A公司设计了一套陶瓷地砖,准备交由B公司进行批量生产.B企业按照GB/T 3810.13-1999陶瓷砖试验方法对该产品进行检测,检测合格,并推向市场 1.按 ...
- Linux之删除命令
一.格式 只能删除文件夹 rmdir 文件名 删除文件 rm 是强大的删除命令,它可以 永久性地 删除文件系统中指定的文件或目录. 在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息.此命令 ...
- 智表ZCELL产品V2.0发版小感
不知不觉,智表从诞生以来已经两年多了,首先感谢各位用户的支持,没有大家的支持,智表这个产品估计早就已经终止了,正是大家的支持和鼓励,智表才一步一步走到了今天.智表最初是从一个简单不能再简单的table ...
- K8s新手系列之Endponit
概述 官方文档:https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/service-resources/endpoints-v1/ En ...
- Unity编辑器重新编译代码
最近碰到Unity编辑器偶尔抽风,明明代码都正常的,编译却有个空报错,导致策划/美术有时候需要重启Unity,有时候需要关掉unity+删除Library/AssemblyScript目录再开unit ...