Se pone en cuclillas CodeForces - 424A

Pasha tiene muchos hámsters y los hace trabajar a cabo. Hoy en día, los hámsters n (n es par) vinieron a trabajar a cabo. Los hámsters en fila y cada uno de hámster o bien se sentaron o se pusieron de pie.

Por otro ejercicio, Pasha necesita exactamente hámsters a ponerse de pie y los otros hámsteres que se sentara. En un minuto, Pasha puede hacer un poco de éter de hámster sentarse o ponerse de pie. ¿Cuántos minutos se necesitaría para conseguir lo que quiere si actúa de manera óptima así?

Input
La primera línea contiene entero n (2 ≤ n ≤ 200; n es par). La siguiente línea contiene n caracteres sin espacios. Estos personajes describen posición: el i-ésimo carácter iguales de los hámsters X ', si el i-ésimo hámster en la fila está de pie, y 'x', si está sentado.

La salida
del En la primera línea, imprimir una sola Entero - .. requiere el mínimo número de minutos que el de la segunda línea, imprimir una cadena que describe la posición de los hámsteres Después Pasha hace los cambios necesarios los si hay múltiples posiciones óptimas, imprima el cualquiera de ellos .
significado de problemas: hay una cadena de n caracteres, cada carácter X no es X, ahora se requiere para hacer el número de X y X son iguales, las conversiones de series de salida mínima y conversión.
Pensando: contando el número X se define como x y a, b, c = min ( a, b), la conversión de un número mínimo de n / 2-a, sólo algunos x o X y luego se convierte en la salida de línea.

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
    int n;
    char c[205];
    int s=0;
    while(cin>>n&&n!=0)
    {
        int a=0,b=0,t=0;
        for(int i=0;i<n;i++)
        {
            cin>>c[i];
            if(c[i]=='x')
                a++;
            else
                b++;
        }
        if(a<n/2)
        {
            t=n/2-a;
            s=t;
            for(int i=0;i<n;i++)
            {
                if(t==0)
                    break;
                if(c[i]=='X')
                {
                    c[i]='x';
                    t--;
                }
            }
        }
        else
        {
            t=n/2-b;
            s=t;
            for(int i=0;i<n;i++)
            {
                if(t==0)
                    break;
                if(c[i]=='x')
                {
                    c[i]='X';
                    t--;
                }
            }
        }
        cout<<s<<endl;
        for(int i=0;i<n;i++)
        {
            cout<<c[i];
        }
        cout<<endl;
    }
    return 0;
}
Publicado 81 artículos originales · ganado elogios 3 · Vistas 2752

Supongo que te gusta

Origin blog.csdn.net/weixin_44641254/article/details/104739579
Recomendado
Clasificación