poj-3185-开关问题

简介: 描述   牛一行20他们喝的水碗。碗可以那么(面向正确的为清凉水)或颠倒的(一个位置而没有水)。他们希望所有20个水碗那么,因此用宽鼻子翻碗。   嘴太宽,他们不仅翻转一碗还碗的碗两侧(总共三个或三个——在两端的情况下碗——两碗)。

描述

 

牛一行20他们喝的水碗。碗可以那么(面向正确的为清凉水)或颠倒的(一个位置而没有水)。他们希望所有20个水碗那么,因此用宽鼻子翻碗。

 

嘴太宽,他们不仅翻转一碗还碗的碗两侧(总共三个或三个——在两端的情况下碗——两碗)。

 

给定的初始状态碗(1 =不能饮用的,0 =饮用——它甚至看起来像一碗),什么是必要的最小数量的碗翻转将所有的碗那么?

 

输入

 

1号线:一行20空格分隔的整数

 

输出

 

线路1:所需的最小数量的碗翻转翻碗那么(即。0)。对于给定的输入,它总是可以找到一些组合的翻转操作碗20 0。

 

样例输入

0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0

 

样例输出

3

 

提示

 

解释的样本:

 

翻转碗4,9岁和11岁时让他们饮用:

0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0(初始状态)

0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0(后翻碗4]

0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0翻碗后[9]

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0翻碗后[11]

思路:
分别从左右两边开始,找到为1 的位置,让后两个取反;不可能出现最后位置或首位置翻到最后扔为1;所以当这种情况出现就赋大值给计数器并终止
循环;最后取左右两计数器的最小值

#include<cmath> #include<iostream> using namespace std ; int main () { int cnt1=0,cnt2=0; int a[20],b[20]; for(int i=0;i<20;i++) { cin>>a[i]; b[i]=a[i]; } for(int i=0;i<20;i++) { if(a[i]==1) { if(i==19) {cnt1=20; break; } cnt1++; a[i+1]=!a[i+1]; a[i+2]=!a[i+2]; } } for(int i=19;i>=0;i--) { if(b[i]==1) { if(i==0) { cnt2=20; break; } cnt2++; b[i-1]=!b[i-1]; b[i-2]=!b[i-2]; } } cout<<min(cnt1,cnt2)<<endl; return 0; }

  

相关文章
POJ 2027 No Brainer
POJ 2027 No Brainer
89 0
|
人工智能 算法 BI
poj 2192 Zipper
题目链接:http://poj.org/problem?id=2192 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 18658   Accepted: 6651 Description Given ...
959 0
F-POJ-3414 Pots
POJ-3414 Time Limit:1000 ms Memory Limit:65536 K Description You are given two po...
979 0
|
并行计算 网络架构
poj-1005-l tanink i need a houseboat
Description Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process of investigating the land, he learned ...
948 0
poj-1006-Biorhythms
Description 人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。
593 0
|
存储 索引
|
算法 数据建模 机器学习/深度学习
poj1273Drainage Ditches
1 #include 2 /* 3 题意:就是寻找从源点到汇点的最大流! 4 要注意的是每两个点的流量可能有多个,也就是说有重边,所以要把两个点的所有的流量都加起来 5 就是这两个点之间的流量了! 6 ...
833 0
|
机器学习/深度学习