nywOJ101 2^a + 2^b problem 题解
题目链接:2^a + 2^b problem
题意:
给定 $a,b~(0 \le a,b \le 63)$ ,求 $2^a + 2^b$ 。
输入格式:
仅一行,两个整数 $a,b$ 。
输出格式:
仅一行,即答案。
特判 $a=b=63$ 的情况即可。
当然如果你用 __int128
也是可以的,本题就是个弱智签到题。
时间复杂度 $\mathcal{O}(1)$
代码:
#include <bits/stdc++.h>
using namespace std;
// #define int long long
// #define INF 0x3f3f3f3f3f3f3f3f
void up(int &x, int y) { x < y ? x = y : 0; }
void down(int &x, int y) { x > y ? x = y : 0; }
#define rep(i, a, b) for(int i = (a), i##END = (b); i <= i##END; i++)
#define Rep(i, a, b) for(int i = (a), i##END = (b); i >= i##END; i--)
#define N ((int)())
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
// freopen("check.in","r",stdin);
// freopen("check.out","w",stdout);
int a, b; cin >> a >> b; // 0 <= a,b <= 63
if(a == 63 && b == 63) cout << "18446744073709551616\n";
else cout << ((1ull << a) + (1ull << b)) << '\n';
return 0;
}
题外话:
好弱智的题,果然是我出的。