Решение задачи Слово с Codeforces

Без пояснения   Просмотров: 47


Васю очень огорчает, что многие люди в интернете смешивают маленькие и большие буквы в одном слове. Поэтому он решил разработать расширение для своего любимого браузера, которое меняет регистр букв в каждом слове так, чтобы оно либо состояло только из маленьких букв, либо, наоборот, только из больших. При этом в слове должно измениться как можно меньше букв. Например, слово HoUse должно замениться на house, а слово ViP — на VIP. В случае, если в слове содержится одинаковое количество маленьких и больших букв, нужно заменить все буквы на маленькие. Например, maTRIx нужно заменить на matrix. Ваша задача — обработать указанным способом одно заданное слово.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int low = 0, down = 0;;
    string s;
    cin >> s;
    for(int i = 0; i < s.size(); ++i){
        if(s[i] >= 'a')
            ++low;
        else
            ++down;
    }
    if(down > low){
        for(int i = 0; i < s.size(); ++i)
            if(s[i] >= 'a')
                s[i]-=32;
    }
    else{

        for(int i = 0; i < s.size(); ++i)
            if(s[i] >= 'A' && s[i] <= 'Z')
                s[i]+=32;
    }
    cout << s;
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться