C++笔试强训day23

目录

1.打怪

2.字符串分类

3.城市群数量


1.打怪

链接

模拟题目,按题意进行模拟就行。

#include <iostream>
using namespace std;
// 简单模拟
int solve()
{int h, a, H, A;cin >> h >> a >> H >> A;if (a >= H)return -1;int cnt = 0;int tmpH = H;while (h > 0){tmpH -= a;if (tmpH > 0)h -= A;if (tmpH <= 0){cnt++;tmpH = H;}}return cnt;
}
int main() {int t;cin >> t;while (t--)cout << solve() << endl;
}

2.字符串分类

链接

我的思路是将每个 string 存入 vector 里面,然后排序每个string,遍历vector,将不同种类的string存入tmp(vector<string>)中,返回tmp.size()即可

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main() {int n;cin >> n;vector<string> vs(n);for (int i = 0; i < n; ++i)cin >> vs[i];for (auto& s : vs)sort(s.begin(), s.end());vector<string> tmp;for (int i = 0; i < n; ++i){int flag = 1;for (auto s : tmp){if (vs[i] == s)flag = 0;}if (flag)tmp.push_back(vs[i]);}cout << tmp.size() << endl;return 0;
}

方法二:

也可以不用这么麻烦,可以直接定义一个unordered_set,将排序后的每个string扔进去,直接返回它的size即可。

#include <iostream>
#include <string>
#include <algorithm>
#include <unordered_set>
using namespace std;
int n;
string s;
int main()
{cin >> n;unordered_set<string> hash;while (n--){cin >> s;sort(s.begin(), s.end());hash.insert(s);}cout << hash.size() << endl;return 0;
}

3.城市群数量

链接

我的方法是用图存储每个城市连接的城市(多个),for循环遍历每个城市,若没有遍历过,之间cnt++,然后dfs遍历该城市连接所有城市,以及它连接的城市连接的所有城市。

#include <unordered_map>
#include <vector>
#include <algorithm>
vector<bool> vim(210);
class Solution {
public:// 检查连接的城市是否遍历完bool Check(int i) {for (int e : edges[i])if (vim[e] == false)return true;return false;}// DFSvoid f(unordered_map<int, vector<int>> edges, int i) {vim[i] = true;if (Check(i) == false)return;for (int e : edges[i]) {if (vim[e] == false) {f(edges, e);}}}// 建图unordered_map<int, vector<int>> edges;int citys(vector<vector<int> >& m) {int line = m.size();int col = m[0].size();for (int i = 0; i < line; ++i) {for (int j = 0; j < col; ++j) {if (m[i][j] == 1 && i != j) {edges[i + 1].push_back(j + 1);}}}int cnt = 0;for (int i = 1; i <= line; ++i) {if (vim[i] == false) {cnt++;f(edges, i);}}return cnt;}
};

唯一的细节就是:

遍历到的这个城市先标记后,再去判断是否有连接的但是没遍历到的城市。

因为一直过不去用例,一直找错误,结果就这一个细节错误,导致我找了好久才找到。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Web浏览器的兼容性测试需要考虑哪些测试点?

测试web网站兼容性时&#xff0c;可以使用各种测试用例来确保网站在不同浏览器中的良好兼容性。以下是一些常见的兼容性测试用例示例&#xff1a; 1. 页面加载测试&#xff1a; - 确保网站在不同浏览器中正常加载&#xff0c;没有加载错误。 - 检查页面加载时间&#xff0c;…

第十四届蓝桥杯大赛软件赛国赛C/C++ 大学 B 组 AB路线

//bfs 1000100010不会超时 #include<bits/stdc.h> using namespace std; #define int long long const int n1e311; int a,b,c,h[n][n][12],k[4][2]{0,1,0,-1,1,0,-1,0}; char t[n][n]; struct s {int x,y,z,w; }; signed main() {ios::sync_with_stdio(false);cin.t…

Day29

回溯算法part03 LC39组合总和(未掌握) 未掌握分析&#xff1a;被数组中的元素可以被重复选取误导&#xff0c;同时没有想到暴力解法来理解回溯 暴力解法肯定是for循环遍历candidates中的每个元素&#xff0c;下一层子循环不像之前的组合题目那样从i1开始&#xff0c;该题目元…

PCIE协议-2-事务层规范-Transaction Ordering

2.4.1 事务排序规则 表2-40定义了PCI Express事务的排序要求。此表中定义的规则适用于PCI Express上的所有事务类型&#xff0c;包括内存、I/O、配置和消息事务。在单个流量类别&#xff08;Traffic Class&#xff0c;TC&#xff09;内&#xff0c;这些排序规则适用。不同TC标…

双向RNN和双向LSTM

双向RNN和双向LSTM 一、双向循环神经网络BiRNN 1、为什么要用BiRNN 双向RNN&#xff0c;即可以从过去的时间点获取记忆&#xff0c;又可以从未来的时间点获取信息,也就是说具有以下两个特点&#xff1a; 捕捉前后文信息&#xff1a;传统的单向 RNN 只能利用先前的上下文信息…

张驰咨询:六西格玛黑带项目的成功关键

六西格玛黑带项目通常被认为是比较难的&#xff0c;因为它们涉及的问题通常比较复杂&#xff0c;可能需要较长时间的分析、实验和协调。然而&#xff0c;通过遵循一定的步骤和方法&#xff0c;可以有效地实施六西格玛黑带项目。 以下是实施六西格玛黑带项目的基本步骤&#x…

搭建Prometheus+grafana监控系统

1. 项目目标 &#xff08;1&#xff09;熟练部署安装node_exporter &#xff08;2&#xff09;熟练部署安装prometheus &#xff08;3&#xff09;熟练部署安装grafana 2. 项目准备 2.1. 规划节点 主机名 主机IP 节点规划 prometheus-server 10.0.1.10 server prome…

【MySQL数据库开发设计规范】之SQL使用规范

欢迎点开这篇文章&#xff0c;自我介绍一下哈&#xff0c;本人姑苏老陈 &#xff0c;是一名JAVA开发老兵。 本文收录于 《MySQL数据库开发设计规范》专栏中&#xff0c;该专栏主要分享一些关于MySQL数据库开发设计相关的技术规范文章&#xff0c;定期更新&#xff0c;欢迎关注&…

3-3 基于RYU的流量风暴事件原理与响应策略

在传统网络中&#xff0c;存在着一定的广播流量&#xff0c;占据了一部分的网络带宽。同时&#xff0c;在有环的拓扑中&#xff0c;如果不运行某些协议&#xff0c;广播数据还会引起网络风暴&#xff0c;使网络瘫痪。 如有以下的一个网络拓扑结构&#xff08;3_2_topoplus.py) …

eMMC和SD模式速率介绍

概述 在实际项目开发中我们常见的问题是有人会问&#xff0c;“当前项目eMMC、SD所使用模式是什么&#xff1f; 速率是多少&#xff1f;”。这些和eMMC、SD的协议中要求的&#xff0c;要符合协议。接下来整理几张图来介绍。 eMMC 模式介绍 一般情况下我们项目中都是会支持到H…

踩坑小结:Linux安装python环境 、安装OpenSSL

一、查看python版本 查看发现&#xff0c;linux上自带了python&#xff0c;不过是2.x版本的。 二、下载python3 2.1 下载 www.python.org/downloads/s… 可在当前目录下找到相对应的版本或者最新版本下载 也可以直接下载 Python 3.10.4 下载完在服务器上选择一个目录存放…

2024 Google I/O大会:全方位解读最新AI技术和产品

引言&#xff1a; 2024年的Google I/O大会如期举行&#xff0c;作为技术圈的年度盛事之一&#xff0c;谷歌展示了其在人工智能领域的最新进展。本次大会尤其引人注目&#xff0c;因为它紧随着OpenAI昨天发布GPT-4o的脚步。让我们详细解析Google此次公布的各项新技术和产品&…

matlab使用教程(71)—控制坐标区布局

1.与位置相关的属性和函数 有几个属性和函数可用于获取和设置坐标区的大小与位置。下表摘要显示了这些属性和函数。 函数或属性描述 OuterPosition 属性 使用此属性可以查询或更改坐标区的外边界&#xff0c;包括标题、标签和边距。要更改外边界&#xff0c;请将此属性指定为…

制造企业数据管理:从数据到价值的转化

在数字化浪潮席卷全球的今天&#xff0c;制造企业面临着前所未有的机遇与挑战。如何从海量的数据中提取有价值的信息&#xff0c;将其转化为企业的核心竞争力&#xff0c;成为了每一个制造企业必须面对的问题。而数据管理&#xff0c;正是实现这一转化的关键所在。制造企业数据…

618值得入手的数码好物如何选?热门爆款数码好物清单分享

618购物节即将到来&#xff0c;作为年中最重要的购物狂欢盛会之一&#xff0c;各大电商平台将推出众多优惠活动。如果你正准备购买数码产品&#xff0c;那么不要错过这个机会。在本文中&#xff0c;我们将为你介绍几款值得关注的热门数码产品&#xff0c;帮助你在618购物节中做…

从丢失到找回:手机相册恢复实战教程

“之前因为手机延迟把三千多张相片都删了&#xff0c;花了几个小时找文档&#xff0c;最后也没找到。对于爱拍照的朋友来说&#xff0c;照片被误删或不见真的会超级难过&#xff01;请问大家有什么好方法能够恢复照片吗&#xff1f;” 在数字时代&#xff0c;手机相册成为了我…

AI作画算法详解:原理、应用与未来发展

随着人工智能技术的不断发展&#xff0c;AI作画逐渐成为了一个热门话题。AI作画&#xff0c;即利用人工智能算法生成绘画作品&#xff0c;不仅仅是技术的展示&#xff0c;更是艺术与科技结合的创新体现。本文将深入探讨AI作画的核心算法原理&#xff0c;并通过实例帮助读者更好…

《海峡科技与产业》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《海峡科技与产业》期刊是什么级别&#xff1f; 答&#xff1a;国家级 主管单位&#xff1a;中华人民共和国科学技术部 主办单位&#xff1a;科技部海峡两岸科学技术交流中心 问&#xff1a;《海峡科技与产业》影响因子&#xff1f; 答&#xff1a;…

【C语言每日题解】用函数来模拟实现strlen()、strcpy()、strcmp()、strcat()

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ 学习了函数后&#xff0c;老师让我们用函数来实现上面这四个字符串函数。 我们首先来了解一下这四个字符串函数&#xff1a; 1.strlen函数 用于获取字符串长度&#xff08;不包括末尾…

Python 渗透测试:反弹 shell (反弹 后门 || 程序免杀)

什么叫 反弹 shell 反弹 shell (Reverse Shell) 是一种常见的渗透测试技术,它指的是受害者主机主动连接攻击者的主机,从而让攻击者获得对受害者主机的控制权。在一个典型的反弹 shell 攻击中,攻击者会在自己的主机上监听一个特定的端口,然后诱使目标主机主动连接到这个端口。当…