2019个人训练赛第二场-A - BowWow and the Timetable

题意:

大概就是给你一串二进制的数,然后让你求log(4)s吧,刚开始找错方向,先把它转成十进制,结果数太大

解决方法:

大概是分析这个数如果正好是4的幂次方的话在二进制的表示里应该只有一个1,所以分析数的长度就可以

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin>>s;
    for(int i=1;i < s.size();i++){
        if(s[i] == '1'){
            cout<<(s.size()+1)/2<<endl;
            return 0;
        } 
    } 
    cout<<s.size()/2<<endl;
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/gbtj/p/11529036.html