weixin_42054580 2023-07-19 07:46 采纳率: 80%
浏览 45
已结题

XJOI1级19段 c++ 爱丽丝的卡片

爱丽丝的卡片
时间:0.2s 空间:32M

题目描述:
爱丽丝有一个由小写字母构成的字符串,字符串被写在了墙上。

同时,她还有一堆卡片,每张卡片上写着一个字母,爱丽丝可以取出若干张卡片,覆盖墙上的一些字母。(也可以一张都不取)

她希望覆盖之后新的字符串字典序尽可能大。帮她找出覆盖之后字典序最大的字符串吧。

输入格式:
第一行输入一个字符串,表示墙上的字符串。
第二行输入一个字符串,表示爱丽丝手上拥有的字母。

输出格式:
输出一行,包含一个字符串

约定:
字符串长度<=50,都由小写字母构成

img

  • 写回答

1条回答 默认 最新

  • 竹山全栈 2023-07-19 10:05
    关注

    img


    可以啦

    
    #include <iostream>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    
    int main() {
        string wall, cards;
        cin >> wall >> cards;
    
        sort(cards.rbegin(), cards.rend());
    
        int i = 0, j = 0;
        while (i < wall.length() && j < cards.length()) {
            if (cards[j] > wall[i]) {
                wall[i] = cards[j];
                j++;
            }
            i++;
        }
    
        cout << wall << endl;
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月19日
  • 已采纳回答 7月19日
  • 创建了问题 7月19日