Codeforces 465A inc ARG(水题)

来源:互联网 发布:内涵段子官方淘宝网站 编辑:程序博客网 时间:2024/05/21 08:35

题目链接:Codeforces 465A inc ARG

题目大意:给定一个二进制数,加1之后有多少位发生改变。

解题思路:水题。

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 105;int n, s[maxn], c[maxn];char str[maxn];int main () {    scanf("%d%s", &n, str);    int bit = 1;    for (int i = 0; i < n; i++) {        s[i] = str[i] - '0';        c[i] = s[i] + bit;        bit = c[i] / 2;        c[i] %= 2;    }    int ret = 0;    for (int i = 0; i < n; i++)        if (s[i] != c[i])            ret++;    printf("%d\n", ret);    return 0;}
0 0