1 条题解

  • 0
    @ 2026-5-5 20:50:54

    A. Creating Words 详细题解

    题目重述

    给定两个长度为 33 的字符串 aabb,交换它们的第一个字符(即 a[0]a[0]b[0]b[0]),然后输出交换后的两个字符串。原字符串只包含小写拉丁字母。

    解题思路

    • 直接模拟:交换两个字符串的第一个字符,其余字符保持不变。
    • 由于字符串长度固定为 33,操作简单,无需复杂算法。

    步骤

    1. 读入测试用例个数 tt1t1001 \le t \le 100)。
    2. 对于每个测试用例:
      • 读入字符串 aabb
      • 用临时变量或直接调用 swap(a[0], b[0]) 交换首字符。
      • 输出 aabb,中间用空格分隔。

    复杂度分析

    • 每个测试用例的时间复杂度 O(1)O(1),空间复杂度 O(1)O(1)
    • 总时间复杂度 O(t)O(t),完全满足题目限制。

    示例验证

    输入:

    bit set
    

    交换 'b''s' 后得到 "sit""bet",输出 sit bet,与样例一致。

    注意事项

    • 交换后字符串可能相同(如 "cat cat" 变为 "cat cat"),无需特殊处理。
    • 字符交换可以直接使用标准库 std::swap 或手动赋值。

    总结

    本题是简单的字符串首字符交换问题,直接模拟即可。代码实现非常简短,是入门级题目。

    • 1

    信息

    ID
    6949
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者