牛客编程巅峰赛S2第9场 - 钻石&王者 B题

牛牛和网格三角形

https://ac.nowcoder.com/acm/contest/9977/B

B题

c++
大数

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * @param n string字符串 三角形的长和高
     * @return bool布尔型
     */
    bool judge(string n) {
        // write code here
        int k = n.size();
        if((n[k-1] - '0')%2 ==0) return false;
        vector<int> num;
        for(int i = k-1; i>=0; i--) num.emplace_back(n[i] - '0');
        int add = 1;
        for(int i = 0; i<k; ++i){
            num[i] +=  add;
            add = num[i]/10;
            num[i]%=10;
        }
        if(add) {num.emplace_back(1); k++;}

        for(; k>0; ){
            if(k == 1 && num[0] ==1) return true;
            if(num[0] % 2 ==1) return false;
            int i = k-1;
            add = (num[i]%2) * 10;
            if(num[i] == 1) k--;
            num[i] /= 2;
            for(--i; i >= 0; --i){
                num[i] += add;
                add = (num[i]%2) * 10;
                num[i] /= 2;
            }
            if(add != 0) return false;
        }

        return false;
    }
};
全部评论

相关推荐

只写bug的程序媛:人家说一本以上,不是及以上
点赞 评论 收藏
分享
浪子陪都:简历最优秀的地方放到了后面,国奖,校级奖学金这些是最亮眼的。说明你跟同级别的学生不一样。 建议台灯这个,PCB布局布线这个词汇不专业,业内是PCB Layout,第二,单片机的板子一般不用考虑SI,PI 都是低速信号,只要遵循3W原则就好了。 单片机的项目太low了,技能这块,你要看一下BOSS直聘的招聘要求,按照别人的要求写,一些关键词可以增加你简历被检索到的概率。 主修课程不用写,这个没有人去关注的。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务