zoukankan      html  css  js  c++  java
  • codeforces水题100道 第二十题 Codeforces Round #191 (Div. 2) A. Flipping Game (brute force)

    题目链接:http://www.codeforces.com/problemset/problem/327/A
    题意:你现在有n张牌,这些派一面是0,另一面是1。编号从1到n,你需要翻转[i,j]区间的牌一次,使得看到的牌是1的数量最大。
    C++代码:

    #include <iostream>
    using namespace std;
    const int maxn = 110;
    int n, a[maxn], sum[maxn];
    int flip(int L, int R)
    {
        int a1 = sum[R] - sum[L-1];
        int a2 = R - L + 1 - a1;
        //cout << "a1=" << a1 << "; a2=" << a2 << ";[" << L << ", " << R << "] == " << sum[n] - sum[R] + sum[L-1] + a2 << endl;
        return sum[n] - sum[R] + sum[L-1] + a2;
    }
    int main()
    {
        cin >> n;
        for (int i = 1; i <= n; i ++)
        {
            cin >> a[i];
            sum[i] = sum[i-1] + a[i];
        }
        int ans = min(sum[n]+1, n-1);
        for (int i = 1; i <= n; i ++)
            for (int j = i; j <= n; j ++)
                ans = max(ans, flip(i, j));
        cout << ans;
        return 0;
    }
    C++
  • 相关阅读:
    xtrabackup
    spark对机器的要求
    hbase的总结
    TO B公司高效能的组织建设实践
    如何给客户展示实力
    什么样的IT队伍是好队伍
    程序员如何使用OKR
    云原生
    Flink 的18个小知识点
    apt 常用命令
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5689374.html
Copyright © 2011-2022 走看看