1 条题解
-
1
很简单的一道题。
- 输入读取:
首先读取一个整数 n,表示有多少个字符串。
使用 cin.ignore() 忽略换行符,以便正确读取后续的每一行字符串。
2.处理每个字符串:
使用 getline(cin, s) 读取每个字符串。
遍历字符串,统计 "Yes" 的出现次数。
计算 "Yes" 总长度 (yesTotalLength) 和字符串的总长度 (totalLength)。
比较 yesTotalLength
#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; // 读取申请次数 cin.ignore(); // 忽略上一行的换行符 while (n--) { string s; getline(cin, s); // 读取每一个字符串 // 统计 "Yes" 的总数 int countYes = 0; size_t pos = 0; while ((pos = s.find("Yes", pos)) != string::npos) { countYes++; pos += 3; // 跳过 "Yes" } // 计算 "Yes" 总长度和总字符串长度 int totalLength = s.length(); int yesTotalLength = countYes * 3; // 判断 "Yes" 的长度是否占总长度的一半以上 if (yesTotalLength * 2 > totalLength) { cout << "Yes" << endl; } else { cout << "No" << endl; } } return 0; }
- 1
信息
- ID
- 31
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者