1 条题解

  • 0
    @ 2026-1-30 15:43:45
    #include<bits/stdc++.h>
    using namespace std;
    
    string s[400], c;  // s:存储所有输入的单词数组,c:临时字符串变量
    int x = 0;         // x:记录存储的单词数量计数器
    
    int main() {
        // [1] 循环读取所有输入单词,按空格分割存入数组s
        while(cin >> c) {
            s[x++] = c;
        }
    
        // [2] 处理最后一个单词,去除其末尾最后一个字符
        c = "";
        for(int i = 0; i < s[x-1].size() - 1; i++) {
            c += s[x-1][i];
        }
        s[x-1] = c;  // 更新最后一个单词为处理后的结果
    
        // [3] 初始化变量:max_num记录最长单词长度,max_s记录最长单词内容
        int max_num = 0;
        string max_s = "";
    
        // [4] 倒序遍历所有单词,查找包含字母'a'的最长单词
        for(int i = x-1; i >= 0; i--) {
            int n = s[i].size(), flag = 0;  // n:当前单词长度,flag:标记是否含'a'
            // 检查当前单词是否包含字母'a'
            for(int j = 0; j < n; j++) {
                if(s[i][j] == 'a') {
                    flag = 1;
                    break;
                }
            }
            // 含'a'且长度达标时,更新最长单词记录
            if(n >= max_num && flag) {
                max_num = n;
                max_s = s[i];
            }
        }
    
        // [5] 输出结果:找到则输出单词,否则输出NO
        if(max_s != "") {
            cout << max_s;
        } else {
            cout << "NO";
        }
        return 0;
    }
    
    • 1

    信息

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