标签:cout P5657 loveGsy long bk int flag S2019 CSP
观察几个数据,有一种思路:类似于二分,判断每一位应该填1还是0;
1 #include <bits/stdc++.h> 2 //#define loveGsy 3 using namespace std; 4 int n; 5 unsigned long long k, bk; 6 bool flag; 7 8 int main() { 9 #ifdef loveGsy 10 freopen("a.in", "r", stdin); 11 freopen("a.out", "w", stdout); 12 #endif 13 cin >> n >> k; 14 bk = pow(2, n - 1); 15 while (bk) { 16 if (!flag){ 17 if (k < bk) cout << "0"; 18 else if (k >= bk) { 19 cout << "1"; 20 k -= bk; 21 flag = true; 22 } 23 } 24 25 else if (flag) { 26 if (k < bk) { 27 cout << "1"; 28 flag = false; 29 } 30 else if (k >= bk) { 31 cout << "0"; 32 k -= bk; 33 flag = true; 34 } 35 } 36 bk >>= 1; 37 } 38 return 0; 39 }
标签:cout,P5657,loveGsy,long,bk,int,flag,S2019,CSP 来源: https://www.cnblogs.com/yhxnoerror/p/16527261.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。