首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
牛客553534314号
华中科技大学 计算机类
发布于湖北
关注
已关注
取消关注
@林小白zii:
2023 蚂蚁笔试题 0404
笔试时间:2023年4月4日 春招实习 第一题 题目:正直者与欺诈者 有n个人,其中一些人是正直者,另外—些人是欺诈者。已知正直者永远说真话,欺诈者永远说假话。现在你已经知道了每个人是正直者还是欺诈者。有q次询问,每次询问你需要回答x指证y是正直者还是欺诈者。 输入描述 第一行输入一个正整数n,代表人数。 第二行输入一个长度为n的字符串,第i个字符为'H'代表第i个人是正直者,'L'代表欺诈者。 第三行输出一个正整数q,代表询问的次数。 接下来的行,每行输入两个正整数a和y,代表一次询问。 1 ≤n,q≤ 104 1 ≤x, y ≤n x≠y 输出描述 输出q行,分别代表每次指证的结果。 若x指证y是正直者,则输出"honester"。如果是欺诈者,则输出"liar" 。 样例输入 5 HLHHL 3 1 2 2 3 3 4 样例输出 liar liar honester 第一个人是正直者,他会说真话,因此他指证第二个人是欺诈者。 第二个人是欺诈者,他会说假话,因此他指证第三个人是欺诈者。 第三个人是正直者,他会说真话,因此他指证第四个人是正直者。 参考题解 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>using namespace std;int main() { int n; cin >> n; string people; cin >> people; int q; cin >> q; for (int i = 0; i < q; ++i) { int x, y; cin >> x >> y; if (people[x - 1] == 'H') { if (people[y - 1] == 'H') { cout << "honester" << endl; } else { cout << "liar" << endl; } } else { if (people[y - 1] == 'H') { cout << "liar" << endl; } else { cout << "honester" << endl; } } } return 0;} Java:[此代码未进行大量数据的测试,仅供参考] import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); String people = scanner.next(); int q = scanner.nextInt(); for (int i = 0; i < q; ++i) { int x = scanner.nextInt(); int y = scanner.nextInt(); if (people.charAt(x - 1) == 'H') { if (people.charAt(y - 1) == 'H') { System.out.println("honester"); } else { System.out.println("liar"); } } else { if (people.charAt(y - 1) == 'H') { System.out.println("liar"); } else { System.out.println("honester"); } } } }} Python:[此代码未进行大量数据的测试,仅供参考] n = int(input())people = [c for c in input()]q = int(input())for _ in range(q): x, y = map(int, input().split(" ")) if people[x - 1] == 'H': if people[y - 1] == 'H': print("honester") else: print("liar") else: if people[y - 1] == 'H': print("liar") else: print("honester") 第二题 题目:小红的红子树 小红拿到了—棵有根树,树的根节点为1号节点。小红将一些节点染成了红色。她想知道有多少子树满足子树所有节点均为红色? 输入描述 第一行输入一个正整数n,代表节点的数量; 第二行输入一个长度为n的字符串,第i个字符为'R'代表第i个节点被染成红色,为'w'代表未被染色; 接下来的n ― 1行,每行输入两个正整数x和y,代表x和y有一条边连接; 1<n≤10^5 1 ≤x, y ≤n 输出描述 输出一个整数,代表节点均为红色的子树数量。 样例输入 3 WRR 1 2 1 3 样例输出 2 节点2和节点3均合法 参考题解 dfs遍历树,向上返回的是以当前节点为根的子树是否满足全部节点为红色即可。 C++:[此代码未进行大量数据的测试,仅供参考] #include <iostream>#include <vector>#include <unordered_map>using namespace std;int n;unordered_map<int, vector<int>> nxs;vector<char> colors;int cnt = 0;bool dfs(int node, int pre) { bool cur = (colors[node] == 'R'); if (nxs.count(node)) { for (int nx : nxs[node]) { if (nx != pre) { cur = dfs(nx, node) && cur; } } } if (cur) cnt++; return cur;}int main() { cin >> n; colors.resize(n + 1); for (int i = 1; i <= n; i++) cin >> colors[i]; for (int i = 0; i < n - 1; i++) { int u, v; cin >> u >> v; nxs[u].push_back(v); nxs[v].push_back(u); } dfs(1, -1); cout << cnt << endl; return 0;} Python:[此代码未进行大量数据的测试,仅供参考] n = int(input())nxs = {}colors = [0] + [c for c in input()]for _ in range(n-1): u,v = map(int, input().split(" ")) if u not in nxs: nxs[u] = [] if v not in nxs: nxs[v] = [] nxs[u].append(v
点赞 1
评论 0
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
wiik
今天 15:31
已编辑
西安电子科技大学 计算机类
两家BAToffer 暑期实习总结
背景学历:本科双非,硕士西电方向:C++/GO后端项目:两个实验室项目 + 两个公开课包装算法:CCPC/ICPC省金,ICPC区域赛铜科研:一篇专利力扣:hot100公开课:CS144,MIT6.S081,MIT6.824,CMU15-445书籍:《C++ Primer plus》,《Linux高性能服务器编程》,《程序员的自我修养:链接、装载与库》,《深入理解计算机系统》(感觉没有实操的话大部分看了就忘)八股:各种八股当小说没事看看offer腾讯cdg,阿里饿了么,一家小厂阿里淘天等HR面面试腾讯(鹅孝子)wxg 企业微信:三面挂pcg qq浏览器:一面挂wxg 视频号:一面挂csig 腾...
投递快手等公司10个岗位 >
点赞
评论
收藏
转发
适彼乐土
昨天 22:01
重庆大学 计算机类
19年的鱼皮差点进不去腾讯
挖坟翻到鱼皮19年发的帖子,在犹豫保研还是留腾讯。如果选后者是不是这辈子都进不去腾讯后台开发了?😋22年腾讯校招应该是200hc?
点赞
评论
收藏
转发
1ink1
04-03 16:39
电子科技大学 计算机类
这流程是彻底挂了吗
点赞
评论
收藏
转发
是红鸢啊
05-06 15:16
四川大学 计算机类
腾讯-PCG-后台开发一面
实习+项目+八股拷打实习经历实习最难的需求?实习过程中有什么收获?延迟消息的原理对 go/java/ python 的看法说说Future类对java多线程体系的理解线程池的参数、工作流程,提供给我们的四个线程池?核心参数如何设置?三个线程顺序打印abc100次,有哪些方法?分布式锁的原理Redis的持久化方式,CopyOnWrite机制哨兵模式下Redis崩溃恢复的流程了解深度学习原理吗?算法长度为n的数组,其中数字都在1-n之间,有一些数字出现两次,其他数字出现一次,用常数的空间和O(n)的时间找到所有出现2次的数字总结4月28面的,链接还在。组里是做研发效能的。这下四战腾讯了。
实习面试经验
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
寻找暑期实习的记忆就此封档啦
9407
2
...
5.11校招&实习招聘信息汇总
5072
3
...
捞简历这件事儿
4817
4
...
31天勇闯盲审(附盲审经验
4716
5
...
微信支付一面
4641
6
...
24届春招还有0offer的吗 #0offer是寒冬太冷还是我太菜#
4432
7
...
无题
4100
8
...
所以到底要招什么超人,我25届Java,学历普通双非,大二就开始学Java,虽然水平不高,但该学的都学了。面试至今没有。三千的小厂都不吊我。天天思考人生,怀疑人生。😀😀
3670
9
...
云智offer
3476
10
...
淘天 业务技术
3280
正在热议
#
牛客帮帮团来啦!有问必答
#
649722次浏览
10806人参与
#
无实习如何秋招上岸
#
209930次浏览
3265人参与
#
找工作中的意难平
#
183554次浏览
3334人参与
#
租房前辈的忠告
#
30416次浏览
2013人参与
#
你的简历改到第几版了
#
294576次浏览
4465人参与
#
硬件人的简历怎么写
#
75776次浏览
775人参与
#
华为开奖那些事
#
692550次浏览
5959人参与
#
简历中的项目经历要怎么写
#
420229次浏览
7113人参与
#
秋招开了,你想投哪些公司呢
#
114491次浏览
3229人参与
#
我想象的工作vs实际工作
#
89562次浏览
1516人参与
#
机械人怎么评价今年的华为
#
65359次浏览
529人参与
#
五一之后,实习真的很难找吗?
#
15896次浏览
101人参与
#
我的成功项目解析
#
79817次浏览
2333人参与
#
金融银行面经
#
4305次浏览
99人参与
#
第一份工作应该选择高薪还是大平台
#
33575次浏览
252人参与
#
本周投递记录
#
193515次浏览
4999人参与
#
浅聊一下我实习的辛苦费
#
78360次浏览
725人参与
#
你投了多少份简历,才拿到offer?
#
4924次浏览
57人参与
#
软件开发投递记录
#
462181次浏览
7087人参与
#
你已经投递多少份简历了
#
284469次浏览
4315人参与
牛客网
牛客企业服务