关注
#include<bits/stdc++.h>
using namespace std;
typedef vector<int>::iterator vii;
int father(int k, int n)
{
if (n > k) abort();
int low = 1, high = k;
int mid, last = (low + high) / 2;
while (low <= high)
{
mid = (low + high) / 2;
if (mid == n) return last;
if (n < mid) high = mid - 1;
else low = mid + 1;
last = mid;
}
}
int com_father(int k, int m, int n)
{
vector<int> fm, fn;
while (m != ((k+1) >> 1))
{
fm.insert(fm.begin(), m);
m = father(k, m);
}
fm.insert(fm.begin(), m);
while (n != ((k + 1) >> 1))
{
fn.insert(fn.begin(), n);
n = father(k, n);
}
fn.insert(fn.begin(), n);
int i;
for (i = 0; i < fm.size() && i < fn.size(); i++)
{
if (fn[i] != fm[i]) break;
}
return fm[i-1];
}
int main()
{
while (true)
{
int k, n1, n2, n3;
cin >> k >> n1 >> n2 >> n3;
k = (2 << k) - 1;
n1 = com_father(k, n1, n2);
n2 = com_father(k, n1, n3);
cout << n2 << endl;
}
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
12684次浏览 173人参与
# 你的mentor是什么样的人? #
51243次浏览 724人参与
# 程序员找工作至少要刷多少题? #
21582次浏览 278人参与
# 我和mentor的爱恨情仇 #
106350次浏览 951人参与
# 论秋招对个人心气的改变 #
13820次浏览 193人参与
# 机械人避雷的岗位/公司 #
44276次浏览 311人参与
# 为了减少AI幻觉,你注入过哪些设定? #
6292次浏览 185人参与
# 秋招落幕,你是He or Be #
54312次浏览 618人参与
# 校招第一份工作你干了多久? #
136714次浏览 597人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
47452次浏览 291人参与
# 设计人如何选offer #
189767次浏览 868人参与
# 考公VS就业,你怎么选? #
92018次浏览 507人参与
# 职场上哪些行为很加分? #
322673次浏览 3604人参与
# 你的秋招进行到哪一步了 #
2531421次浏览 23253人参与
# 牛客AI体验站 #
7994次浏览 213人参与
# 机械人还在等华为开奖吗? #
312237次浏览 1582人参与
# 秋招投递记录 #
381031次浏览 3204人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2364次浏览 52人参与
# 我现在比当时_,你想录用我吗 #
9595次浏览 131人参与
# 重来一次,我还会选择这个专业吗 #
411403次浏览 3898人参与
凡岛公司福利 676人发布