关注
2居然不需要考虑大数??? 不过大数也AC了。。。主办方真的是。。神奇 #include <iostream> #include <stdio.h> #include <algorithm> #include <string.h> #include <string> #include <math.h> #include <stack> #include <queue> #include <vector> #include <map> #include <set> #include <cmath> #pragma warning(disable:4996) #define Zero(a) memset(a, 0, sizeof(a)) #define Neg(a) memset(a, -1, sizeof(a)) #define All(a) a.begin(), a.end() #define PB push_back #define repf(i,a,b) for(i = a;i <= b; i++) #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #define root 1,n,1 #define ld rt << 1 #define rd rt << 1 | 1 #define ll long long #define MAXN 100100 #define INF 6666666 #define mod 1000000007 #define ll long long #define sqrtt(x) (ll)(x)*(x) #define dist(x1,y1,x2,y2) (sqrtt(x1-x2)+sqrtt(y1-y2)) using namespace std; ll x, y; ll k; int T; int yess[130]; vector<int>rec; string Sum(string s1, string s2) { if (s1.length() < s2.length()) { string temp = s1; s1 = s2; s2 = temp; } int i, j; for (i = s1.length() - 1, j = s2.length() - 1; i >= 0; i--, j--) { s1[i] = char(s1[i] + (j >= 0 ? s2[j] - '0' : 0)); if (s1[i] - '0' >= 10) { s1[i] = char((s1[i] - '0') % 10 + '0'); if (i) s1[i - 1]++; else s1 = '1' + s1; } } return s1; } ll multt(ll m, ll n) { ll ans = 1; for (int i = 0; i < n; ++i) ans *= m; return ans; } string Multiply(string s, int x) //大数乘以整形数 { reverse(s.begin(), s.end()); int cmp = 0; for (int i = 0; i < s.size(); i++) { cmp = (s[i] - '0')*x + cmp; s[i] = (cmp % 10 + '0'); cmp /= 10; } while (cmp) { s += (cmp % 10 + '0'); cmp /= 10; } reverse(s.begin(), s.end()); return s; } struct node { int val; int pos; }; vector<node>nd; int main() { while (cin >> T) { while (T--) { cin >> x >> k; rec.clear(); for (int i = 0; i < 130; ++i) yess[i] = 1; ll tt = 0; int stp = 0; while (tt <= x) { if (multt(2, stp) & x) { yess[stp] = 0; } tt += multt(2, stp); stp++; } nd.clear(); int cnt = 0; for (int i = 0; i < 130; ++i) { node kk; if (yess[i] == 1) { kk.pos = 1; kk.val = i; nd.push_back(kk); } } //cout << nd.size() << endl; stp = 0; tt = 0; while (stp < nd.size()) { if ((multt(2, stp) & k) && tt <= k) { nd[stp].pos = 1; } else { nd[stp].pos = 0; } tt += multt(2, stp); stp++; } vector<node>ndd; for (int i = 0; i < nd.size(); ++i) { if (nd[i].pos == 1) ndd.push_back(nd[i]); } string ans = "0"; for (int i = 0; i < ndd.size(); ++i) { string anss = "1"; for (int j = 0; j < ndd[i].val; ++j) anss = Multiply(anss, 2); //cout << anss << endl; ans = Sum(ans, anss); } cout << ans << endl; } } return 0; }
查看原帖
点赞 5
相关推荐
11-29 14:47
字节跳动_后端开发(准入职员工) 逆天 hr。。先是在面试之前给我换了两次面试时间,面试完就不回消息了。面试时候我已经明确说了我不接受上海和深圳,没有 hc 你给我挂了就是了现在说这个😅化身华黑子,纯逆天
牛客347492458号:被当指标了 佬
点赞 评论 收藏
分享
牛客热帖
正在热议
# 拼多多求职进展汇总 #
237313次浏览 2039人参与
# 机械求职避坑tips #
23644次浏览 249人参与
# 阿里云管培生offer #
62565次浏览 1759人参与
# 25届秋招总结 #
410965次浏览 4126人参与
# 25届机械人为了秋招做了哪些准备? #
26285次浏览 363人参与
# 地方国企笔面经互助 #
6951次浏览 17人参与
# 北方华创开奖 #
67080次浏览 553人参与
# ai智能作图 #
28987次浏览 350人参与
# 虾皮求职进展汇总 #
91671次浏览 750人参与
# 实习,投递多份简历没人回复怎么办 #
2440707次浏览 34746人参与
# 软件开发投递记录 #
1481585次浏览 23947人参与
# 我的实习求职记录 #
6133204次浏览 84021人参与
# 我在牛爱网找对象 #
74895次浏览 555人参与
# 发工资后,你做的第一件事是什么 #
9139次浏览 43人参与
# 985本硕1个中小厂offer,摆烂or继续努力 #
83289次浏览 602人参与
# 机械人怎么评价今年的华为 #
157957次浏览 1352人参与
# 京东求职进展汇总 #
513042次浏览 4680人参与
# 如果可以,你希望哪个公司来捞你 #
33939次浏览 195人参与
# 你觉得通信/硬件有必要实习吗? #
54795次浏览 698人参与
# 歌尔求职进展汇总 #
42905次浏览 294人参与
# 在职场上,你最讨厌什么样的同事 #
6081次浏览 91人参与
# 如果再来一次,你还会选择这个工作吗? #
115761次浏览 1143人参与