美文网首页
【Codeforces】Educational Codeforc

【Codeforces】Educational Codeforc

作者: Caproner | 来源:发表于2019-01-28 00:03 被阅读0次

    Problem A

    分情况讨论:

    • 如果n=2并且s[0]{\geq}s[1],那么说明不存在合法的划分方案,输出NO。
    • 否则,只需要把第一个字母划出来作为一个单独的数字,其他的作为另一个数字即可。

    时间复杂度为O(n)

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
        int q;
        cin >> q;
        while(q--)
        {
            int n;
            cin >> n;
            string s;
            cin >> s;
    
            if((n == 2) && (s[0] >= s[1]))
            {
                cout << "NO" << endl;
            }
            else
            {
                cout << "YES" << endl;
                cout << 2 << endl;
                s.insert(s.begin() + 1, ' ');
                cout << s << endl;
            }
        }
        return 0;
    }
    

    Problem B

    小范围打表可以发现:
    S(n)={\begin{cases} S(n-9) &n{\ge}10\\ n &n<10\\ \end{cases}}
    于是可以得出答案为9(k-1)+x

    时间复杂度为O(n)

    #include <iostream>
    
    using namespace std;
    
    typedef long long LL;
    
    int main()
    {
        int t;
        cin >> t;
        while(t--)
        {
            LL k, x;
            cin >> k >> x;
            cout << (k - 1) * 9 + x << endl;
        }
        return 0;
    }
    

    后续待补充

    相关文章

      网友评论

          本文标题:【Codeforces】Educational Codeforc

          本文链接:https://www.haomeiwen.com/subject/berojqtx.html