CodeForces 12B Correct Solution

One cold winter evening Alice and her older brother Bob was sitting at home near the fireplace and giving each other interesting problems to solve. When it was Alice's turn, she told the number n to Bob and said:

—Shuffle the digits in this number in order to obtain the smallest possible number without leading zeroes.

—No problem! — said Bob and immediately gave her an answer.

Alice said a random number, so she doesn't know whether Bob's answer is correct. Help her to find this out, because impatient brother is waiting for the verdict.

Input

The first line contains one integer n (0 ≤ n ≤ 109) without leading zeroes. The second lines contains one integer m (0 ≤ m ≤ 109) — Bob's answer, possibly with leading zeroes.

Output

Print OK if Bob's answer is correct and WRONG_ANSWER otherwise.

Examples

Input
3310
1033
Output
OK
Input
4
5
Output
WRONG_ANSWER
#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <vector>
#include <map>
using namespace std;
#define ll long long

string n, m;
int a[18], b[18], miao[18], sign, en[18];

int main()
{
    cin>>n>>m;
    int len1 = n.size(), len2 = m.size();
    if(len1 != len2)printf("WRONG_ANSWER\n");
    else
    {
        bool flag = 0;
        for(int i = 0; i<len1; i++)
        {
            a[i] = n[i]-48;
            miao[i] = b[i] = m[i]-48;
        }
        sort(a, a+len1);
        sort(miao, miao+len2);
        for(int i = 0; i<len1; i++)
        {
            if(a[i] != miao[i])
            {
                flag = 1;
                break;
            }
        }
        if(flag)printf("WRONG_ANSWER\n");
        else
        {
            for(int i = 0; i<len1; i++)
            {
                if(a[i])
                {
                    sign = i;
                    break;
                }
            }
            en[0] = a[sign];
            int ga = 1;
            for(int i = 0; i<len1; i++)
            {
                if(i != sign) en[ga++] = a[i];
            }
            for(int i = 0; i<len1; i++)
            {
                if(en[i] != b[i])
                {
                    flag = 1;
                    break;
                }
            }
            if(flag)printf("WRONG_ANSWER\n");
            else printf("OK\n");
        }
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/RootVount/p/11216819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值