1 条题解

  • 0
    @ 2026-10-25 15:08:46

    思路

    寻找保持置位数的最小严格后继,可由位运算或搜索获得。

    参考程序(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){unsigned long long n;while(cin>>n&&n){auto low=n&(~n+1);auto right=n+low;cout<<(right|(((right^n)>>2)/low))<<'\n';}}
    
    • 1

    信息

    ID
    1119
    时间
    1000ms
    内存
    64MiB
    难度
    普及−
    标签
    递交数
    1
    已通过
    1
    上传者