1 条题解

  • 0
    @ 2026-1-30 16:37:38
    #include<bits/stdc++.h>
    using namespace std;
    string s[30], c;  // s:存储所有输入单词的数组,最多存30个;c:临时存储单个单词
    
    int main() {
        int x = 0;  // x:记录读取到的单词数量
        // [1] 读取输入的所有单词,自动跳过空格,存入数组s
        while(cin >> c) {
            s[x++] = c;
        }
    
        int flag = 1;  // flag:标记接龙是否成功,1为成功,0为失败
        // [2] 检查所有相邻单词是否满足接龙规则
        for(int i = 1; i < x; i++) {
            int n = s[i-1].size();  // n:前一个单词的长度
            // 比较前一个单词的最后一个字符 和 当前单词的第一个字符
            if(s[i-1][n-1] != s[i][0]) {
                flag = 0;  // 不满足接龙,标记为失败
                break;     // 提前退出循环,无需后续检查
            }
        }
    
        // [3] 根据标记输出结果
        if(flag) {
            cout << "Y";
        } else {
            cout << "N";
        }
        return 0;
    }
    
    • 1

    信息

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