2 条题解

  • 0
    @ 2024-12-25 20:23:21

    #include #include #include using namespace std;

    bool compare(string s1, string s2, string newOrder) { int len1 = s1.length(); int len2 = s2.length(); int len = min(len1, len2); for (int i = 0; i < len; i++) { if (newOrder.find(s1[i]) < newOrder.find(s2[i])) { return true; } else if (newOrder.find(s1[i]) > newOrder.find(s2[i])) { return false; } } return len1 < len2; }

    int main() { int n; cin >> n; string newOrder; cin >> newOrder; string* strings = new string[n]; for (int i = 0; i < n; i++) { cin >> strings[i]; } sort(strings, strings + n, [&](string s1, string s2) { return compare(s1, s2, newOrder); }); for (int i = 0; i < n; i++) { cout << strings[i] << endl; } return 0; }

    • 0
      @ 2024-2-16 19:03:01

      考察sort函数中的cmp

      根据题目给定规则写出cmp函数即可

      • 1

      信息

      ID
      17
      时间
      1000ms
      内存
      512MiB
      难度
      5
      标签
      (无)
      递交数
      72
      已通过
      27
      上传者