1 条题解
-
0
📝 题目大意
给定一个正整数 ,输出一个长度为 的字符串。对于第 个字符(),若 是 的倍数则输出
x(失败),否则输出o(成功)。💡 解题思路
-
题目分析: 的范围仅为 ,数据量极小,直接模拟即可。本质就是每隔两个
o输出一个x,形成oox的循环模式。 -
算法推导:从 遍历到 ,对每个 判断 是否等于 :
- 若 ,输出
x; - 否则输出
o。
最后输出换行符结束。
- 若 ,输出
-
边界与细节:
- 注意循环从 开始,而不是 。若从 开始会导致 被误判为失败。
- 可能不足 ,此时输出全为
o(如 输出o, 输出oo),逻辑依然正确。
⏱️ 复杂度分析
- 时间复杂度:,遍历 到 一次。
- 空间复杂度:,仅使用常数个变量。
💻 标准代码 (C++)
#include <iostream> using namespace std; int main() { int N; cin >> N; // 从第1次罚球开始,到第N次 for (int i = 1; i <= N; i++) { if (i % 3 == 0) { // i是3的倍数:失败 cout << 'x'; } else { // 否则:成功 cout << 'o'; } } cout << endl; return 0; } -
- 1
信息
- ID
- 786
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者