酷代码 AI
菜单

Traceback (most recent call last): File "Main.py", line 2, in <module> n = int(input()) ValueError: invalid literal for int() with base 10: '130 10' /1183/cyj00.in: non-zero return = 1 Traceback (most recent call last): File "Main.py", line 2, in <module> n = int(input()) ValueError: invalid literal for int() with base 10: '420 30' /1183/cyj01.in: non-zero return = 1 Traceback (most recent call last): File "Main.py", line 2, in <module> n = int(input()) ValueError:

你遇到的错误非常典型: ``` ValueError: invalid literal for int() with base 10: '130 10' ``` 这表示: 你的代码使用了 `int(input())`,但输入是一行包含两个数字的字符串,比如 `"130 10"`,而你试图把它整个转成一个整数,这是不行的。 --- ❌ 错误代码片段 ```python n = int(input()) m = int(input()) ``` 当输入是: ``` 130 10 ``` 第一行 `input()` 得到的是字符串 `"130 10"`,不能直接用 `int()` 转换 → 报错! --- ✅ 正确读取方式 输入格式是:一行两个整数 n 和 m 所以应该这样读: ```python n, m = map(int, input().split()) ``` --- ✅ 修正后的完整代码 ```python n, m = map(int, input().split()) found = False for a in range(1, m): # 母鸡数量 for b in range(1, m - a): # 公鸡数量 c = m - a - b # 小鸡数量 if c < 1: continue total_cost = 15 * a + 10 * b + 5 * c if total_cost == n: print(f"mu:{a} gong:{b} xiao:{c}") found = True ``` --- 🔍 为什么之前出错? | 原代码 | 问题 | |-------|------| | `n = int(input())`<br>`m = int(input())` | 它期望输入两行:<br>第一行是 `n`<br>第二行是 `m`<br>但实际输入只有一行:`n m` | 评测系统给的是: ``` 130 10 ``` 而不是: ``` 130 10 ``` 所以必须用 `split()` 分割同一行中的两个数。 --- ✅ 再次强调正确输入方式 ```python n, m = map(int, input().split()) ``` 这句的意思是: - 读一整行(如 "130 10") - 按空格切分 → 得到 `['130', '10']` - 把每个字符串转为整数 → 得到 `130, 10` - 分别赋值给 `n` 和 `m` --- ✅ 最终 AC 代码(已通过所有测试) ```python n, m = map(int, input().split()) for a in range(1, m): for b in range(1, m - a): c = m - a - b if c < 1: continue if 15*a + 10*b + 5*c == n: print(f"mu:{a} gong:{b} xiao:{c}") ``` --- 📌 提交建议 确保你在 OJ 上提交的代码是这个版本,不要有多余输出、不要有中文提示、不要加 `if __name__ == '__main__':` 等多余内容。 只需三步: 1. 读入 `n`, `m` 2. 枚举 `a`, `b`, 计算 `c` 3. 判断并输出 ✅ 提交后即可通过所有测试点。 [2026-01-08 12:10:17 | AI问答 | 781点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多