本文主要是介绍Codeforces 465A inc ARG(水题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接: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;
}
这篇关于Codeforces 465A inc ARG(水题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!