oj2401: problema da água

Perguntas feitas
a cada pessoa a viver na aldeia todos sabem como as coisas caro na cidade. Todos os que vivem na cidade todos sabem coisas como caros na aldeia. Allie decidiu usar estas observações para ganhar dinheiro. Ela vai começar em uma cidade ou vila, onde comprar material barato, vá para o tipo oposto de lugar (se ela é começar na cidade, é uma aldeia, ou se iniciar na aldeia, é a cidade), então onde o dinheiro de venda para fora, comprar o próximo novo lugar algo (ou o tipo oposto da coisa), e assim por diante. Ela logo deixou a cidade ou aldeia, os moradores percebem como ela estava enganando-os e estava zangado com ela, para que ela não pode ir para o mesmo lugar duas vezes. Elly ela não pode prever o lucro real quando se utiliza esta estratégia irá receber. Então, ela decidiu apenas ir a tantos lugares. Claro, ela deve alternar entre o acesso a rural e visitar a cidade, mas ela não poderia visitar o mesmo local duas vezes. O sistema irá fornecer-lhe uma posição de corda, descrevendo todos os locais Elly acessível. Se o i-th lugar é da aldeia, o i-th personagem "V", se a cidade é, para a "C". De acordo com as regras, ela retorna o maior número de sites que podem ser acessados.
Entrada
vários conjuntos de dados.
Cada conjunto de dados é uma cadeia de comprimento de 1 a 100, e só a 'V' e 'C' dois caracteres.
A saída
da amostra da entrada
Raw
CVVVC
VVV
VVVVCVV
CVCVCVC
V
Amostra de saída
Raw
5
1
3
7
1
título requer uma pessoa para ir para a cidade - rural - urbano - alternando de volta rural e para a frente e pediu para até várias cidades.
Porque a cidade pode ir até um máximo associado com o menor número de áreas urbanas e rurais, onde as condições de julgamento
两个数字之间关系 .
n n + 1 e um valor máximo 2n + 1;
n e n 2N máximo;
n + S (um número arbitrário) e o valor máximo de n 2n + 1;
se 0 que é digital, o valor máximo é apenas um.

if (c == 0 || v == 0)
            ans = 1;
        else if (c == v)
            ans = 2 * v;
        else if (c >= v + 1)
            ans = 2 * v + 1;

O código completo

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main(void)
{
    string str;
    string a[110];
    int c, v,ans ,t;
    while (cin >> str)
    {
        ans = 0;
        c = 0, v = 0;
        for (int i = 0; i < str.size(); i++)
            if (str[i] == 'C')
                c++;
            else
                v++;
        if (c <= v)
        { 
            t = v;
            v = c;
            c = t;
        }
        if (c == 0 || v == 0)
            ans = 1;
        else if (c == v)
            ans = 2 * v;
        else if (c >= v + 1)
            ans = 2 * v + 1;
        cout << ans << endl;
    }
    return 0;
}
Publicado 38 artigos originais · ganhou elogios 27 · vista 3190

Acho que você gosta

Origin blog.csdn.net/qq_45891413/article/details/104803695
Recomendado
Clasificación