zoukankan      html  css  js  c++  java
  • 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
    ");
        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
    ");
            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
    ");
                else printf("OK
    ");
            }
        }
        return 0;
    }
  • 相关阅读:
    树上点对统计poj1741(树的点分治)
    hdu5115(区间dp)
    bestcoder Round#52 1001(最短路+状压dp)
    lightoj1038(期望dp)
    模线性方程组
    hdu2089 数位dp
    poj2955括号匹配 区间DP
    poj1417 带权并查集 + 背包 + 记录路径
    poj1984 带权并查集(向量处理)
    zoj3261 并查集离线处理
  • 原文地址:https://www.cnblogs.com/RootVount/p/11216819.html
Copyright © 2011-2022 走看看