AK 9.12 百度Java后端研发B卷 笔试

T1(博弈论)

#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;const int N = 1e5 + 10;int n, m, t;void solve() {cin >> n >> m; t = n + m - 2;if(t & 1) cout << "Yes" << endl;else cout << "No" << endl;
}int main() {cin.tie(0); cout.tie(0);std::ios::sync_with_stdio(false);int T = 1;cin >> T;while(T --) {solve();}return 0;
}

T2(思维,模拟,哈希表,位运算)

#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;const int N = 1e5 + 10;int n, m;
int a[N];int xor_in = 0, XOR_M;
unordered_map<int, int> mp;
unordered_map<int, int> in, out;bool check() {if(in.size() == m && xor_in == XOR_M) {cout << "YES" << endl;cout << 0 << endl;return true;}if(in.size() == m - 1 && out.size() == 1) {int target = XOR_M ^ xor_in;int idx = mp[target];if(idx != 0) {cout << "YES" << endl;cout << 1 << endl;cout << (out.begin())->second << ' ' << idx << endl;return true;}}return false;
}void solve() {cin >> n >> m;for(int i = 1; i <= n; i ++) cin >> a[i];for(int i = 1; i <= m; i ++) XOR_M ^= i;for(int i = 1; i <= m; i ++) {if(a[i] > m) out[a[i]] = i;else in[a[i]] = i, xor_in ^= a[i];}for(int i = m + 1; i <= n; i ++) mp[a[i]] = i;if(check()) return ;for(int i = 1, j = m + 1; j <= n; i ++, j ++) {if(a[i] >= 1 && a[i] <= m) {in.erase(a[i]);xor_in ^= a[i];} else out.erase(a[i]);if(a[j] >= 1 && a[j] <= m) in[a[j]] = j, xor_in ^= a[j];else out[a[j]] = j;mp.erase(a[j]);mp[a[i]] = i;if(check()) return ;}cout << "NO" << endl;
}int main() {cin.tie(0); cout.tie(0);std::ios::sync_with_stdio(false);int T = 1;
//	cin >> T;while(T --) {solve();}return 0;
}

T3(模拟,哈希表)

#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;const int N = 1e5 + 10;unordered_map<string, unordered_map<string, unordered_set<string>>> fun; // name : args : typestring get_type(string op) {string ret;for(char c : op) {if(c == ' ') break;ret += c;}return ret;
}string get_name(string op) {string ret;int idx = op.find('('); idx -- ;for(; idx >= 0; idx --) {if(op[idx] == ' ') break;ret += op[idx];}reverse(ret.begin(), ret.end());return ret;
}string get_args(string op) {int a = op.find('('), b = op.find(')');op = op.substr(a + 1, b - a - 1); op += ',';vector<string> ss; string t;for(char c : op) {if(c == ',') ss.push_back(t), t = "";else t += c;}string ret;for(string s : ss) {if(s.find(' ') != -1) ret += s.substr(0, s.find(' ')) + ",";else ret += s + ",";}return ret;
}void solve() {int T, code;cin >> T;string op;while(T --) {cin >> code;getline(cin, op);getline(cin, op);if(code == 1) {string type = get_type(op);string name = get_name(op);string args = get_args(op);if(fun.count(name) == 0) {fun[name][args].insert(type);cout << "ok." << endl;} else {if(fun[name].count(args) == 0) {fun[name][args].insert(type);cout << "ok." << endl;} else {cout << "method " << name << " is already defined." << endl;}}} else if(code == 2) {string type = get_type(op);string name = get_name(op);string args = get_args(op);if(fun.count(name) != 0 && fun[name].count(args) != 0) cout << "ok." << endl;else if(fun.count(name) == 0) cout << "cannot find symbol " << name << "." << endl;else if(fun.count(name) != 0 && fun[name].count(args) == 0) {cout << "method " << name << " cannot be applied to given types." << endl;}}}}int main() {cin.tie(0); cout.tie(0);std::ios::sync_with_stdio(false);solve();return 0;
}

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

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

相关文章

MATLAB入门-字符串操作

MATLAB入门-字符串操作 注&#xff1a;本篇文章是学习笔记&#xff0c;课程链接是&#xff1a;link MATLAB中的字符串特性&#xff1a; 无论是字符还是字符串&#xff0c;都要使用单引号来‘’表示&#xff1b;在MATLAB中&#xff0c;字符都是在矩阵中存储的&#xff0c;无论…

Leetcode: 645.错误的集合 题解【超详细】

题目 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复…

在WinForms应用程序中创建一个定时任务以监听鼠标左键点击事件可以通过以下步骤实现

在WinForms应用程序中创建一个定时任务以监听鼠标左键点击事件可以通过以下步骤实现&#xff1a; 1. 打开您的WinForms应用程序或创建一个新的WinForms项目。 2. 在窗体上添加一个Timer控件&#xff0c;用于定时检查鼠标左键点击事件。 3. 在窗体的构造函数或Load事件处理程…

新手如何开始Microstation CE版二次开发

一步步学习MicroStation CE MDL&#xff08;C&#xff09;开发 - 技术资料库 - Bentley 中国优先社区 - Bentley Communities https://communities.bentley.com/communities/other_communities/chinafirst/w/chinawiki/57704/microstation-ce-mdl-c一步步学习MicroStation CE A…

VS2022 开发.net 4.0的方法

原文连接&#xff08;如果安装.net 4.0 把文中的4.5改为4.0即可&#xff09; Visual Studio 2022 如何安装低版本的 .Net Framework - 一颗路边小石头 - 博客园 (cnblogs.com)

代码随想录二刷day29

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣491. 递增子序列二、力扣47. 全排列 II三、力扣46. 全排列 前言 一、力扣491. 递增子序列 class Solution {List<List<Integer>> res ne…

算法:合并两个有序数组---双指针[1]

文章来源&#xff1a; https://blog.csdn.net/weixin_45630258/article/details/132673462 欢迎各位大佬指点、三连 1、题目&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元…

java关于文件记录篇章之文件夹创建篇

今天&#xff0c;创建一个文件夹目录的时候&#xff0c;创建多级目录的时候发现&#xff0c;自己老是创建失败&#xff0c;但是系统显示文件夹创建成功&#xff0c;但是你去找文件夹的时候&#xff0c;又发现创建失败&#xff0c;这里在我成功之后封装了一个创建文件夹的创建对…

小节5:Python列表list常用操作

1、对列表的基本认知&#xff1a; 列表list&#xff0c;是可变类型。比如&#xff0c;append()函数会直接改变列表本身&#xff0c;往列表里卖弄添加元素。所以&#xff0c;list_a list_a.append(123)就是错误的。如果想删除列表中的元素&#xff0c;可以用remove()函数&…

Android RecyclerView BaseSectionQuickAdapter实现分组功能

详情网站&#xff1a;手把手教你使用BaseSectionQuickAdapter实现分组功能&#xff0c;史上最详细Adapter使用教程_basequickadapter 分组_杨阿程的博客-CSDN博客 //加入二个包implementation com.android.support:recyclerview-v7:26.0.0-beta1implementation com.github.Cym…

2023/9/15 -- C++/QT

作业&#xff1a; 1> 将工程文件进行注释 2> 03login_box.pro: QT core gui #core核心库 gui图形开发库greaterThan(QT_MAJOR_VERSION, 4): QT widgets #4.0版本以上自动包含widgets库CONFIG c11 #支持C11版本# The following define makes your compiler em…

npm 发布包、更新包,同步到 cnpm (taobao镜像)

如果还没有npm账号&#xff0c;请直接到 https://www.npmjs.com 注册。已有账号&#xff0c;根据下面的流程登录&#xff1a; 1. 登录 执行命令&#xff1a; npm login根据步骤输入你的用户名(Username)&#xff0c;密码(Password)&#xff0c;邮箱(Email)&#xff0c;邮箱接…

C# byte转bit bit组装成byte

bit组装成Byte public void BitToByte(){List<char[]> chars new List<char[]>();char mm1 1;char mm2 1;char mm3 1;char mm4 1;char mm 0;char[] chars0 new char[]{ mm1, mm2, mm3, mm4, mm, mm, mm, mm };//0-7 chars.Add(chars0);byte[] bytes new b…

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用 1 AFM模型原理及其实现 沿着特征工程自动化的思路&#xff0c;深度学习模型从 PNN ⼀路⾛来&#xff0c;经过了Wide&#xff06;Deep、Deep&#xff06;Cross、FNN、DeepFM、NFM等模型&#xff0c;进⾏了大量的、基于不…

idea装载jerbel以及文件上传下载

一、JRebel 1.1 Jrebel介绍 JRebel是一个Java开发工具&#xff0c;它是一款用于实时代码重载的插件。它的主要功能是在不重新启动应用程序的情况下&#xff0c;将修改后的Java代码实时应用到正在运行的应用程序中&#xff0c;从而加快开发周期&#xff0c;提高开发效率。 实…

【实战项目开发技术分享】如何设置机器人禁行区/虚拟墙

文章目录 前言一、代价地图自定义图层1.1 Costmap组成1.2 costmap_2d1.3 实现过程1.3.1 安装插件1.3.2 在costmap_2d中插入障碍物1.3.3 修改launch文件1.3.4 设置障碍物坐标参数二、图像编辑器2.1 安装GIMP2.1.1 命令行方式安装2.1.2 使用图形界面安装GIMP:2.2 实现过程三、ro…

Sqlserver如何调试存储过程

前提&#xff1a;需要使用Sql Server Managerment Studio 工具进行调试。 步骤&#xff1a; 1.选择存储过程&#xff0c;右键选择“执行存储过程”。操作过后&#xff0c;会生成一个调用存储过程的代码块。 2.以编辑模式打开所以需要调试的存储过程。 3.点击调试按钮进行调…

【视觉检测】电源线圈上的导线弯直与否视觉检测系统软硬件方案

 检测内容 线圈上的导线弯直与否检测系统。  检测要求 检测线圈上的导线有无弯曲&#xff0c;弯曲度由客户自己设定。检测速度5K/8H625PCS/H。  视觉可行性分析 对样品进行了光学实验&#xff0c;并进行图像处理&#xff0c;原则上可以使用机器视觉进行测试测量…

数据结构与算法--排序算法复习

目录 1.三种常见的简单排序&#xff1a; 1.1冒泡排序 1.2 选择排序 1.3 插⼊排序 2 常见高级排序算法 2.1 希尔排序 2.2 快速排序 2.3 归并排序 2.4计数排序 先上结论&#xff1a; 1.三种常见的简单排序&#xff1a; 1.1冒泡排序 1.⾸先在未排序数组的⾸位开始&#…

Vue 3的革命性新特性:深入了解Composition API

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…