poj3185.cpp

来自「本人最近在acm.pku.edu.cn上通过的程序」· C++ 代码 · 共 29 行

CPP
29
字号
#include <stdio.h>
#define MASK (0xFFFFF << 1)

int count (int bowl, int n, int k) 
{
    if ( (bowl & MASK) == 0) return k;
    if (n == 1) return 99999;
    if (bowl & (1 << n))   
        return count(bowl ^ (7 << (n-2)), n - 1, k + 1);
    return count(bowl, n-1, k);
}

int main() 
{
    int i, t, st, a, b;

    for (i = 0, st = 0; i < 20; i++) 
    {
        scanf("%d", &t);
        st = (st << 1) | t;
    }
    st = st << 1;
    a = count(st^(3<<19), 20, 1);
    b = count(st, 20, 0);
    if (b < a) a = b;
    printf("%d\n", a);
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?