360 9.14笔试

news/2024/9/19 8:57:28/文章来源:https://www.cnblogs.com/tanch25/p/18414608

第二题大模拟真的有点折磨了

第一题

给出m种饮料,每种饮料只有一杯,接下来有n个客人,每个客人有两种想喝的饮料,请问最多能满足多少位客人。
数据范围比较小n = 20,所以直接暴力求解

#include<bits/stdc++.h>  
using namespace std;  
int main() {  int n,m;  cin >> n >> m;  int res = 0;  vector<int> ind(m + 1, 0);  vector<vector<int>> nums;  for (int i = 0; i < n; i++) {  int a,b;  cin >> a >> b;  nums.push_back(vector<int>{a,b});  }  function<void(int,int)> dfs = [&] (int pox, int now) {  if (pox == n) {  res = max(res, now);  return;  }  if (ind[nums[pox][0]] == 0 && ind[nums[pox][1]] == 0) {  ind[nums[pox][0]] = 1;  ind[nums[pox][1]] = 1;  dfs(pox + 1, now + 1);  ind[nums[pox][0]] = 0;  ind[nums[pox][1]] = 0;  }  dfs(pox + 1, now);  };  dfs(0, 0);  cout << res;  return 0;  
}

第二题

给出T个方程,允许在每个方程中添加至多一位数字,询问每个方程是否成立。
给定的方程中只有“+*="和数字三种符号。T至多为10,每个方程的长度至多为1000。
以下解法只通过82% Runtime Error

  1. 枚举对应的插入位置
  2. 根据等号拆分开
  3. 模拟进行表达式的计算
#include <bits/stdc++.h>  
using namespace std;  
int cacu(string s) {  int n = s.length();  stack<int> st;  int pox = 0;  int left = 0;  while (pox < n) {  while (pox < n && s[pox] != '+' && s[pox] != '*') {  pox++;  }  long long tmp = stoi(s.substr(left, pox - left));  left = pox + 1;  while (pox < n && s[pox] == '*') {  pox++;  while (pox < n && s[pox] != '+' && s[pox] != '*') {  pox++;  }  int tmp2 = stoi(s.substr(left, pox - left));  left = pox + 1;  tmp = tmp * tmp2;  }  st.push(tmp);  pox++;  }  long long res = 0;  while (!st.empty()) {  res += st.top();  st.pop();  }  return res;  
}  
bool scheck(string s) {  int epox = 0;  while (s[epox] != '=') {  epox++;  }  string s1 = s.substr(0, epox);  string s2 = s.substr(epox + 1);  if (cacu(s1) == cacu(s2)) return true;  else return false;  
}  
const char chars[]{'0','1','2','3','4','5','6','7','8','9'};  
int main() {  int T;  cin >> T;  for (int p = 0; p < T; p++) {  string s;  cin >> s;  scheck(s);  int len = s.length();  if (scheck(s)) {  cout << "Yes" <<endl;  continue;  }  bool flag = false;  for (int i = 0; i < 10 && (!flag); i++) {  for (int j = 0; j <= len && (!flag);j++) {  string tmp1 = s.substr(0, j);  string tmp2 = s.substr(j);  string s1 = tmp1 + chars[i] + tmp2;  if (scheck(s1)) flag = true;  }  }  if (flag) cout << "Yes" <<endl;  else cout << "No" <<endl;  }  return 0;  
}  

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

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

相关文章

Openwrt挂载大容量NTFS磁盘,解决默认挂载不能写入问题,实现samba共享

1. 目的 在OpenWRT上挂载上大容量磁盘(NTFS文件系统),支持读写操作。解决默认挂载仅能读取,不能写入问题。 配置Samba36,实现局域网文件夹共享。 2. 环境架构 ARMv7 Processor rev 1 (v7l)固件版本 OpenWrt 19.07.7内核版本 3.10.33安装插件smbd -v # 检查是否安装了smb …

使用MySQL Workbench进行数据库备份

1、打开MySQL Workbench2、进行数据库连接配置 如果之前连过,会有历史记录,直接点击需要备份的连接即可3、进入主界面后,选择左侧的Administration选项卡,然后点击Data Export;或者点击工具栏的Server——Data Export4、选择要备份的数据库,默认选择所有的表,在objects …

Mininet安装记录

安装环境: Ubuntu虚拟机版本:14.04 Mininet版本:2.3.1b1 1、更改软件镜像源 在设置中进行如下操作:选择国内的镜像站点,如阿里云。 点击关闭后,在弹出的窗口中点击重新载入,等待缓存更新完成。2、下载git 在终端中执行如下命令: sudo apt-get install git没有报错的话,…

Redis运维之监控指标,性能监控,监控方式,响应慢分析

目录1 Redis监控1.1 Redis监控指标1.1.1 性能指标: Performance1.1.2 内存指标: Memory1.1.3 基本活动指标:Basic activity1.1.4 持久性指标: Persistence1.1.5 错误指标:Error1.2 监控方式1.2.1 info1.2.2 性能监控1.2.3 内存监控1.2.4 基本活动指标1.2.5 持久性指标1.2.6 错…

代码随想录算法 - 二叉树4

题目1 654. 最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建:创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。返回 nums 构建的 …

图的连通性小记

前言 DFS 树 无向图 DFS 树 定义:DFS树 是在图或树结构上进行深度优先搜索时形成的树。在 DFS 过程中,从一个顶点开始,尽可能深地搜索图的分支,直到达到一个没有未访问邻居的顶点,然后回溯到上一个顶点继续搜索。 从点 \(r\) 开始搜索,每次进入一个点 \(i\) 对应的边 \((…

前端项目通过 Nginx 发布至 Linux,并通过 rewrite 配置访问后端接口

本文通过将 arco 框架的前端项目,部署至 CentOS 7,并访问同服务器的 WebAPI 接口,来简单演示一下,如何将前端项目发布至 Linux 系统。〇、前言 本文通过将 arco 框架的前端项目,部署至 CentOS 7,并访问同服务器的 WebAPI 接口,来简单演示一下,如何将前端项目发布至 Lin…

练习第四周8.31

作业: 1、安装burp并实现抓取HTTP站点的数据包(HTTPS站点暂时不要求)2、练习Tomcat PUT方法任意写文件漏洞(CVE-2017-12615),提供蚁剑连接成功截图3、练习S2-048 远程代码执行漏洞(CVE-2017-9791),提供命令执行截图 4、练习JBoss 5.x/6.x 反序列化漏洞(CVE-2017-1214…

【csp201912-2】回收站选址

题目背景开学了,可是校园里堆积了不少垃圾杂物。热心的同学们纷纷自发前来清理,为学校注入正能量~ 题目描述 通过无人机航拍我们已经知晓了n处尚待清理的垃圾位置,其中第i(1≤i≤n)处的坐标为(x,y),保证所有的坐标均为整数。我们希望在垃圾集中的地方建立些回收站。具体来说…

【Ehviewer绿色版】1.9.8.4最新版本下载2024安卓苹果

Ehviewer 是一款主要用于浏览和下载漫画、插画等二次元图像内容的软件。适用安卓和苹果系统,Ehviewer拥有海量的漫画作品,涵盖各种题材和风格,包括日本漫画、韩国漫画、欧美漫画以及国内的一些同人创作等。无论是热门的商业漫画还是小众的独立作品,都能在 Ehviewer上找到,…