SRM 403 TheLargestLuckyNumbers

問題概要

サンプルセットを見ると問題文が分かる
nが与えられる。4と7で構成されるn以下の数を求める.

方針

最初のsubmit

nは[4, 1000000]なので全探索

Medium解き終わってからのsubmit

幅優先探索

class TheLargestLuckyNumber
{
    public:
        int find(int n)
        {
            int res = 0;
            queue<int> que;

            for(que.push(4), que.push(7); !que.empty(); que.pop())
            {
                int x = que.front();

                if(x > n)
                    break;

                res = x;

                que.push(x * 10 + 4);
                que.push(x * 10 + 7);
            }

            return res;
        }
};