读懂题于2020-11-04 22:40
80分于11-05 16:37
AC 于11-05 16:43
普及的题非常简单
思路:若k在前一半,则开头是0,反之开头是1,递归查找
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
long long a[70]= {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,
32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,
33554432,67108864,134217728,268435456,536870912,1073741824,2147483648
,4294967296,8589934592,17179869184,34359738368,68719476736,
137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,
8796093022208,17592186044416,35184372088832,70368744177664,140737488355328,281474976710656,
562949953421312,1125899906842624,2251799813685248,4503599627370496,9007199254740992,18014398509481984,
36028797018963968,72057594037927936,144115188075855872,288230376151711744,576460752303423488,1152921504606846976,
2305843009213693952,2305843009213693952,2305843009213693952,230

本文介绍了如何使用C++解决2019年CSP第二轮提高组中关于格雷码的问题。关键思路在于根据k的位置判断起始位是0还是1,然后通过递归搜索得出解。
最低0.47元/天 解锁文章
题解&spm=1001.2101.3001.5002&articleId=109515774&d=1&t=3&u=1795fe8427de4cdfbd245ef69d0f10c1)
834

被折叠的 条评论
为什么被折叠?



