(每日一练28800)题目名称:豚鼠排名榜

文盲老顾 文盲老顾 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

已知字符A.B,C。每个字符都有自己的权值q。 现不知道权值q,只知道A,B,C的三次比较结果。

输入三个字符串表示三次比较的结果

输出结果,如果不存在输出”Impossible”

img

说实话,老顾看到这个题目是一头雾水的,什么就一个 A 就能得到ACB这个结果了?你凭啥啊?

没办法,老顾只好把用例拉出来看看,否则完全不知道啥意思啊

然后拉出来用例也是一头雾水

img

再然后,老顾就开始尝试,如果输入等于 ['AC'] 尝试输出一个结果,反正一共三个字母,6种组合罢了

结果。。。嘿嘿,if inp == ['AC'] 居然没有成功?

于是老顾对输入多做了一个处理

import sys
inp = [list(line.strip()) for line in sys.stdin.readlines()]

img

好么。。。。原来用例是 A<B A C ,然后呢, <B A 给我当 html 标签输出了,页面没显示出来?

行吧,知道问题在哪了,后边就简单了,直接建立个字典然后排序输出即可

import sys
inp = [list(line.strip()) for line in sys.stdin.readlines()]
d = {'A':0,'B':0,'C':0}
for row in inp:
    if row[1] == '<':
        d[row[0]] -= 1
        d[row[2]] += 1
    else:
        d[row[2]] -= 1
        d[row[0]] += 1
ans = ''.join(sorted(d,key = lambda x:d[x]))
print(ans if d[ans[0]] != d[ans[1]] and d[ans[1]] != d[ans[2]] else 'Impossible')
...全文
评论
收藏 已收藏
分享
返回顶部
文盲老顾
文盲老顾 新星创作者: 信息安全技术领域 新星创作者: 信息安全技术领域领域专家: 数据库技术领域 领域专家: 数据库技术领域
老顾的一亩三分地 320 成员 160 内容