Codeforces 327A-Flipping Game(暴力枚举)
2017-06-12 08:30
375 查看
A. Flipping Game
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Iahub got bored, so he invented a game to be played on paper.
He writes n integers a1, a2, ..., an.
Each of those integers can be either 0 or 1. He's allowed to do exactly one move: he chooses two indices i and j (1 ≤ i ≤ j ≤ n)
and flips all values ak for
which their positions are in range [i, j] (that is i ≤ k ≤ j).
Flip the value of xmeans to apply operation x = 1 - x.
The goal of the game is that after exactly one move to obtain the maximum number of ones. Write a program to solve the little game of Iahub.
Input
The first line of the input contains an integer n (1 ≤ n ≤ 100).
In the second line of the input there are n integers: a1, a2, ..., an.
It is guaranteed that each of those n values is either 0 or 1.
Output
Print an integer — the maximal number of 1s that can be obtained after exactly one move.
Sample test(s)
input
output
input
output
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Iahub got bored, so he invented a game to be played on paper.
He writes n integers a1, a2, ..., an.
Each of those integers can be either 0 or 1. He's allowed to do exactly one move: he chooses two indices i and j (1 ≤ i ≤ j ≤ n)
and flips all values ak for
which their positions are in range [i, j] (that is i ≤ k ≤ j).
Flip the value of xmeans to apply operation x = 1 - x.
The goal of the game is that after exactly one move to obtain the maximum number of ones. Write a program to solve the little game of Iahub.
Input
The first line of the input contains an integer n (1 ≤ n ≤ 100).
In the second line of the input there are n integers: a1, a2, ..., an.
It is guaranteed that each of those n values is either 0 or 1.
Output
Print an integer — the maximal number of 1s that can be obtained after exactly one move.
Sample test(s)
input
5 1 0 0 1 0
output
4
input
41 0 0 1
output
4
题意:翻牌游戏。 给出n张牌,每张牌仅仅有0和1两种状态。给出初始状态。对于翻牌操作这样规定:每次操作可将区间[i,j](1=<i<=j<=n)内牌的状态翻转(即0变1,1变0)。求一次翻转操作后,1的个数尽量多。
枚举区间+遍历区间推断,O(n^3);
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <cctype> #include <cstdlib> #include <set> #include <map> #include <vector> #include <string> #include <queue> #include <stack> #include <cmath> using namespace std; const int INF=0x3f3f3f3f; #define LL long long int a[110]; int main() { int n,num[2]; while(~scanf("%d",&n)) { int ans=0; for(int i=0;i<n;i++) { scanf("%d",a+i); if(a[i]==1) ans++; } int pos=ans; if(pos==n) { printf("%d\n",n-1); continue; } for(int i=0;i<n;i++) for(int j=i;j<n;j++) { memset(num,0,sizeof(num)); for(int k=i;k<=j;k++) num[a[k]]++; if(num[0]>num[1]) ans=max(ans,pos+num[0]-num[1]); } printf("%d\n",ans); } return 0; }
相关文章推荐
- Codeforces 327A Flipping Game(区间DP,暴力枚举)
- Codeforces 327A-Flipping Game(暴力枚举)
- Code Forces 327A - Flipping Game 贪心 暴力
- CodeForces-327A Flipping Game
- (CodeForces - 327A)Flipping Game
- Codeforces - 327A - Flipping Game
- Codeforces 831C Jury Marks【暴力枚举】
- CodeForces 742B Arpa’s obvious problem and Mehrdad’s terrible solution (暴力枚举)
- POJ-1753 Flip Game【暴力枚举】
- Codeforces 3 B. Lorry 暴力 排序 枚举 贪心
- CodeForces 304A (暴力枚举间接判另一变量)
- !codeforces 399C Cards-数论&贪心-(暴力枚举)
- Codeforces 425A Sereja and Swaps(暴力枚举)
- Codeforces 626E Simple Skewness(暴力枚举+二分)
- Codeforces 552D Vanya and Triangles【暴力枚举+思维】
- Codeforces-----233B---Non-square Equation暴力枚举
- COdeforces 479A - Expression (暴力枚举即可)
- Codeforces 372B. Counting Rectangles is Fun【动态规划,暴力枚举】(lowbit()小用法)
- Codeforces 868C - Qualification Rounds 【状态压缩+暴力枚举】
- codeforces 599D. Spongebob and Squares【推公式+暴力枚举】