int k, ans, cnt[500000], num; string s; char a, b; signed main() { cin >> k >> s >> a >> b; for (int i = 0, len = s.length(); i < len - k + 1; i++) { if (s[i] == a) cnt[i] = ++num; else cnt[i] = num; } for (int i = k - 1, len = s.length(); i < len; i++) if (s[i] == b) ans += cnt[i - k + 1]; cout << ans; return 0; } 为什么我这个代码过不了?能指点一下吗,谢谢!
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:638 |
Tom数 (C语言代码)浏览:517 |
母牛的故事 (C语言代码)浏览:623 |
筛排处理 (C语言代码)浏览:830 |
小O的数字 (C语言代码)浏览:1490 |
1415题求解浏览:681 |
1074题 初学者,求帮忙看下,不知道哪错了浏览:297 |
C语言程序设计教程(第三版)课后习题7.5 (C++代码)浏览:1460 |
C二级辅导-求偶数和 (C语言指针动态内存法)浏览:661 |
防御导弹 (C语言代码)浏览:2288 |
七海燈子 2024-03-09 18:07:59 |
可能是dp数组长度开小了,因为k+S的长度可能会接近十万