1 条题解

  • 0
    @ 2026-4-1 17:19:32

    解题思路

    本题是基础的字符串处理问题,核心逻辑简单清晰:

    1. 读取测试用例数:先输入整数 tt,表示需要处理的测试用例组数;
    2. 逐组处理输入:对于每组测试用例,读取三个字符串;
    3. 提取首字符:分别取三个字符串的第一个字符(字符串下标从 0 开始);
    4. 拼接并输出:将三个首字符按顺序拼接后直接输出。

    代码详解

    头文件

    • #include <iostream>:提供输入输出流,支持 cincout
    • #include <string>:提供字符串类型 string
    • using namespace std;:使用标准命名空间,简化代码书写。

    输入输出优化

    • ios::sync_with_stdio(false);:关闭与 C 标准 I/O 的同步,大幅提升速度。
    • cin.tie(nullptr);:解绑 cincout,避免不必要的刷新。

    主逻辑

    • int t;:定义变量存储测试用例数量。
    • cin >> t;:读取用例数 tt
    • while (t--):循环执行 tt 次,处理每组数据。
    • string a, b, c;:定义三个字符串接收输入。
    • cin >> a >> b >> c;:读取三个字符串。
    • cout << a[0] << b[0] << c[0] << '\n';:输出首字符拼接结果并换行。
    • return 0;:程序正常结束。

    复杂度分析

    • 时间复杂度:O(t)O(t),线性遍历 tt 组数据。
    • 空间复杂度:O(1)O(1),仅使用常数级额外空间。

    标准程序代码(C++)

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main() {
        // 关闭同步流,加速输入输出(应对多组数据时的效率优化)
        ios::sync_with_stdio(false);
        // 解绑cin和cout,避免cout刷新导致的性能损耗
        cin.tie(nullptr);
        
        int t;
        cin >> t; // 读取测试用例数量
        
        while (t--) { // 循环处理每组测试用例
            string a, b, c;
            cin >> a >> b >> c; // 读取三个字符串
            
            // 输出三个字符串的首字符拼接结果
            cout << a[0] << b[0] << c[0] << '\n';
        }
        
        return 0;
    }
    • 1

    信息

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