NC25534. 粉丝群
描述
输入描述
输入一行,两个正整数表示和k。同时保证字典序第k小的方案一定存在。
输出描述
输出两行,第一行是满足条件的方式的个数,第二行是第k个满足条件的方式的xor和。
示例1
输入:
3 2
输出:
4 4
Python3(3.5.2) 解法, 执行用时: 40ms, 内存消耗: 3392K, 提交时间: 2020-01-16 18:42:24
n, m = map(int, input().split()) if n == 1 : print(1) print(2) else : if (n & 1) == 1 : print(n + 1) if (m == n) : print(2) else : print(n + 1) else : print(n) print(n)
C++14(g++5.4) 解法, 执行用时: 4ms, 内存消耗: 612K, 提交时间: 2019-09-17 14:30:05
#include<bits/stdc++.h> using namespace std; long long n,k; int main() { cin>>n>>k; if (n==1){ return printf("1\n2\n")==0;} if (n&1) return printf("%lld\n%lld\n",n+1,(k==n)?2:n+1)==0; printf("%lld\n%lld\n",n,(n+1)^1); }
C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 480K, 提交时间: 2019-09-15 11:30:35
#include <cstdio> long long n, k; int main() { scanf("%lld %lld", &n, &k); printf("%lld\n%lld", n + (n & 1) - (n == 1), k == n && n & 1 ? 2 : n & 1 ? n + 1 : n); }