描述 小明和小凯在玩游戏。小明告诉小凯一个数 n,并说: 请你打乱这个数的数字,以得到最小的可能数,但不能有前导零。小凯说:没问题!并立刻给出了一个答案。 小明说的是一个随机数,所以她不知道小凯的答案是否正确。请帮助她找到答案。 输入描述 第一行是给定的数 n ( 0≤n≤10 9 )。 第二行是小凯的答案。 输出描述 如果答案正确,输出“OK”;否则输出“WRONG_ANSWER”。 样例输入 1 3310 1033 样例输出 1 OK 样例输入 2 4 5 样例输出 2 WRONG_ANSWER
时间: 2024-03-25 09:37:03 浏览: 108
做一个猜数字的游戏,随机生成1~50之间的数字,然后有10次机会,供用户输入,判断是否猜中(使用for循环)
以下是Python3代码实现:
```python
n = input().strip()
ans = input().strip()
# 将数字 n 的每个数字都存到列表中,并按照从小到大的顺序排序
digits = list(n)
digits.sort()
# 特判:如果最小数字为 0,则交换它和第二小的数字
if digits[0] == '0':
for i in range(1, len(digits)):
if digits[i] != '0':
digits[0], digits[i] = digits[i], digits[0]
break
# 将排好序的数字列表拼接成字符串
min_num = ''.join(digits)
# 比较小凯的答案和最小数字是否相同
if min_num == ans:
print("OK")
else:
print("WRONG_ANSWER")
```
算法时间复杂度为 $O(n \log n)$,其中 $n$ 为数字 n 的位数。
阅读全文