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

【强训笔记】day23

NO.1
在这里插入图片描述
思路:直接计算结果,先计算怪物可以抗几次攻击,再计算勇士受到的伤害,如果勇士的攻击力大于等于怪物的血量,那么就可以击杀无数只,如果勇士的血量正好是受到攻击的整数倍,那么击杀的怪物数量就减一。

代码实现:

#include<iostream>using namespace std;int t;
int h,a,H,A;int fun()
{if(a>=H) return -1;int m=(H/a)+(H%a!=0?1:0);int n=m-1;int x=n*A;int ret=h/x-(h%x==0?1:0);return ret;
}
int main()
{cin>>t;while(t--){cin>>h>>a>>H>>A;cout<<fun()<<endl;}return 0;
}

NO.2
在这里插入图片描述
思路:哈希表,利用set的哈希表可以去重。

代码实现:

#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;}

NO.3
在这里插入图片描述
思路:dfs,定义一个bool数组用来标记,如果该位置为false,那么就ret++,再dfs搜索,dfs中将搜索过的位置的bool数组标记为true,再对该位置进行dfs搜索,搜索完后直接返回ret就可以了。

代码实现:

class Solution {
public:bool vis[210]={0};int citys(vector<vector<int> >& m) {int n=m.size();int ret=0;for(int i=0;i<n;i++){if(!vis[i]){ret++;}dfs(m,i);}return ret;}void dfs(vector<vector<int> >& m,int pos){vis[pos]=true;for(int i=0;i<m.size();i++){if(m[pos][i]&&!vis[i]){dfs(m,i);}}}
};
http://www.lryc.cn/news/349662.html

相关文章:

  • C语言-STM32:介绍PWM,并使用PWM实现呼吸灯
  • SpringBean详解
  • hive获取这周五到下周四的区间,周一到周日的区间
  • Iterable与Iterator
  • 免费Premiere模板,几何图形元素动画视频幻灯片模板素材下载
  • 数据结构与算法学习笔记九---循环队列的表示和实现(C++)
  • Mysql获取当前时间
  • 计算机服务器中了locked勒索病毒怎么解决,locked勒索病毒解密恢复工具
  • 基于springboot实现的在线动漫信息平台
  • C# Winform+Halcon结合标准视觉工具
  • 英语单词量测试
  • 三、安装node_exporter
  • kafka基础知识
  • 华为昇腾310B1平台视频解码失败[ERROR] Send frame to vdec failed, errorno:507018
  • Flutter 中的 SwitchListTile 小部件:全面指南
  • 详细分析Vue3中的defineExpose(附Demo)
  • 合合信息:TextIn文档解析技术与高精度文本向量化模型再加速
  • Git与Gitlab
  • MySQL数据库从入门到精通(下)
  • 从融媒到智媒,小程序框架可助力传媒企业在AI实践下的服务变现
  • MES系统在电线电缆行业生产上的应用
  • 怎么把图片上的字去掉
  • BFS和DFS优先搜索算法
  • python将两张图片对齐
  • Linux修炼之路之初识操作系统+基础指令(1)
  • Flink中基于Chandy-Lamport算法的分布式快照实现详解
  • 软件3班20240513
  • 【小程序】怎么优化小程序的性能
  • 告别信用卡绑定烦恼:探索这个全功能的Azure语音替代品,包含AI视频制作!(微软Azure语音替代方案)
  • 酷开科技依托酷开系统“硬件+内容”产业布局,抢占全球机遇!