http://poj.org/problem?id=3185
2.Idea
Flipping
3.Source
vector<int> A(20);
int solve()
{
vector<int> a = A;
int ans = 0;
for (int i = 1; i < 20; i++) {
if (a[i - 1] == 1) {
//cout << i << endl;
a[i - 1] = 1 - a[i - 1];
a[i] = 1 - a[i];
a[i + 1] = 1 - a[i + 1];
ans++;
}
}
return ans;
}
int main()
{
for (int i = 0; i < 20; i++) {
cin >> A[i];
}
int ans = solve();
reverse(A.begin(), A.end());
ans = min(ans, solve());
cout << ans << endl;
return 0;
}
No comments:
Post a Comment