oj2401: problema del agua

Hacer preguntas
a cada persona que viva en el pueblo todos sabemos cómo las cosas caro de la ciudad. Toda persona que viva en la ciudad todos sabemos lo caro cosas en el pueblo. Allie decidió usar estas observaciones para hacer dinero. Ella comenzará en una ciudad o pueblo, donde comprar cosas baratas, vaya al tipo opuesto de lugar (si es comenzar en la ciudad, es un pueblo, o si comienza en el pueblo, porque es la ciudad), a continuación, donde el dinero de venta a cabo, comprar el siguiente nuevo lugar algo (o el tipo opuesto de cosas), y así sucesivamente. Pronto se salió de la ciudad o pueblo, los residentes dan cuenta de lo que estaba engañando a ellos y estaba enfadado con ella, por lo que no puede ir al mismo lugar dos veces. Elly no puede predecir el beneficio real cuando se utiliza esta estrategia va a recibir. Así que decidió ir a tantos lugares. Por supuesto, se debe cambiar entre el acceso a las zonas rurales y visitar la ciudad, pero no podía visitar el mismo lugar dos veces. El sistema le proporcionará una posición de la cadena, que describe todas las ubicaciones Elly accesible. Si la i-ésima es el pueblo, el i-ésimo carácter "V", si la ciudad es, para la "C". De acuerdo con las reglas, se devuelve el mayor número de sitios que se puede acceder.
De entrada de
múltiples conjuntos de datos.
Cada conjunto de datos es una cadena de longitud de 1 a 100, y sólo el 'V' y 'C' dos caracteres.
La salida de
la muestra de la entrada
Raw
CVVVC
VVV
VVVVCVV
CVCVCVC
V
de la Muestra de la salida de
Raw
5
1
3
7
1
título requiere una persona para ir a la ciudad - rural - urbana - volver alterna rural y vuelta y pidió que hasta varias ciudades.
Debido a que la ciudad puede ir a un máximo asociado con el menor número de áreas urbanas y rurales, donde las condiciones de evaluación
两个数字之间关系 .
n n + 1 y un valor máximo 2n + 1;
n y n máximo 2 N;
n + S (un número arbitrario) y el valor máximo de n 2n + 1;
si 0 que es digital, el valor máximo es único.

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

El 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 artículos originales · ganado elogios 27 · vistas 3190

Supongo que te gusta

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