1 条题解

  • 0
    @ 2026-6-19 10:31:00

    📝 题目大意

    给定 1212 个由小写英文字母组成的字符串 S1S12S_1 \sim S_{12},求有多少个 ii 满足 SiS_i 的长度恰好等于 ii

    💡 解题思路

    1. 题目分析:数据规模极小(固定 1212 个字符串,每个长度 100\le 100),直接模拟即可。没有隐藏条件或陷阱。
    2. 算法推导
      • 用循环遍历 i=1i = 11212,每次读入 SiS_i
      • s[i].size() == i,则答案 ans11(因为 ii11 开始,下标和位置编号一致)。
      • 最后输出 ans
    3. 边界与细节:本题无边界情况,ii11 开始恰好与题目中的 SiS_i 下标一致,无需额外偏移。

    ⏱️ 复杂度分析

    • 时间复杂度O(1)O(1),固定处理 1212 个字符串。
    • 空间复杂度O(1)O(1),仅存储 1212 个短字符串。

    💻 标准代码 (C++)

    #include <bits/stdc++.h>
    using namespace std;
    
    int main () {
    	string s[15];        // 开稍大一点的数组,方便从下标 1 开始使用
    	int ans = 0;         // 记录满足条件的个数
    	for (int i = 1; i <= 12; i++) {
    		cin >> s[i];                       // 读入第 i 个字符串
    		if (s[i].size() == i) {           // 长度恰好等于编号 i
    			ans++;
    		}
    	}
    	cout << ans;         // 输出答案
    	return 0;
    }
    
    • 1

    信息

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