Решение задачи "Правильное решение?" с Codeforces

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


Одним холодным зимним вечером Настя и ее старший брат Валера сидели дома возле теплого камина и обменивались интересными задачками. Когда наступила очередь Насти, она назвала брату число n и сказала:

—Переставь цифры в этом числе так, чтобы в результате получилось наименьшее возможное число, в котором нет лидирующих нулей.

—Да это же очень просто! — воскликнул Валера и сразу же выдал сестре ответ.

Настя загадала случайное число и сама еще не знает, является ли ответ Валеры правильным. Вам необходимо срочно помочь девочке, потому что нетерпеливый Валера требует от нее скорого оглашения вердикта.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int k = 0;
    string n, s;
    cin >> n >> s;
    if(n == "0" && s == "0"){
        cout << "OK";
        return 0;
    }
    sort(n.begin(), n.end());

    if(n.size() != s.size() ){
        cout << "WRONG_ANSWER";
        return 0;
    }
    while(n[0] == '0'){
        n.erase(0, 1);
        ++k;
    }
    if(n.size())
        n.insert(1, k, '0');
    if(n == s){
        cout << "OK";
    }
    else
        cout << "WRONG_ANSWER";
    return 0;
}

         

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


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

Комментарии

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