HDU 2572.終曲

題目:http://acm.hdu.edu.cn/showproblem.php?pid=2572

AC代碼(C++):

#include <iostream>
#include <queue>
#include <string>
#include <algorithm>
#include <string.h>
#include <math.h>

#define INF 0x3f3f3f3f
#define eps 1e-8

using namespace std;

int main() {
    int t;
    cin >> t;
    string input, sub1, sub2, sub3, ans;
    while (t--) {
        cin >> input >> sub1 >> sub2;
        ans = input;
        for (int i = 1; i <= input.length(); i++) {
            for (int j = 0; j + i <= input.length(); j++) {
                sub3 = input.substr(j, i);
                if (sub3.find(sub1) != -1 && sub3.find(sub2) != -1) {
                    if (sub3.length() < ans.length())ans = sub3;
                    else if (sub3.length() == ans.length() && sub3 < ans)ans = sub3;
                }
            }
        }
        if (ans == input)cout << "No" << endl;
        else cout << ans << endl;
    }

    //system("pause");
}
總結: STL的使用. 在做這道題前我還不知道string可以直接用find來查子串, 用<或>來比字典序.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章