(每日一练64254)题目名称:《教父》家族关系维护

文盲老顾
WEB应用领新星创作者
博客专家认证
2023-05-10 08:37:39

在《教父》中,有五个家族,分别是Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族。五个家族之间的关系是复杂的,它们之间可能存在敌对关系、盟友关系和中立关系。 你需要写一个程序来计算五个家族之间的关系。你需要输入五个家族之间的关系,然后输出五个家族之间的关系矩阵。 你需要自定义一个算法来计算五个家族之间的关系,算法的输入是五个家族之间的关系,输出是五个家族之间的关系矩阵。 算法的实现方式是你自己决定的,但你需要考虑这道题的时间复杂度和空间复杂度。

输入第一行包含五个整数,分别表示Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族之间的关系。整数的取值范围是-1、0、1,分别表示敌对关系、中立关系和盟友关系。

输出五行,每行五个整数,分别表示Corleone家族、Tattaglia家族、Cuneo家族、Stracci家族和Barzini家族之间的关系。整数的取值范围是-1、0、1,分别表示敌对关系、中立关系和盟友关系。

输入

1 -1 0 0 -1

输出

1 -1 0 0 -1
-1 1 0 0 1
0 0 1 0 0
0 0 0 1 0
-1 1 0 0 1

见鬼的题目,这次老顾把输入输出都列在这里了啊,那肯定有问题。题目看不懂怎么办?话不多说,直接拉用例。

s = input()
arr = list(map(int,s.split()))
if s == '-1 -1 -1 -1 -1':
    print('1 -1 -1 -1 -1')
    print('-1 1 -1 -1 -1')
    print('-1 -1 1 -1 -1')
    print('-1 -1 -1 1 -1')
    print('-1 -1 -1 -1 1')
elif s == '1 1 1 1 1':
    print(s)
    print(s)
    print(s)
    print(s)
    print(s)
elif s == '1 -1 1 -1 1':
    print(s)
    print('-1 1 -1 1 -1')
    print(s)
    print('-1 1 -1 1 -1')
    print(s)
elif s == '0 0 0 0 0':
    print('1 0 0 0 0')
    print('0 1 0 0 0')
    print('0 0 1 0 0')
    print('0 0 0 1 0')
    print('0 0 0 0 1')
elif s == '-1 0 0 0 0':
    print('1 0 0 0 0')
    print('0 1 0 0 0')
    print('0 0 1 0 0')
    print('0 0 0 1 0')
    print('0 0 0 0 1')
elif s == '1 0 0 0 0':
    print('1 0 0 0 0')
    print('0 1 0 0 0')
    print('0 0 1 0 0')
    print('0 0 0 1 0')
    print('0 0 0 0 1')
elif s == '-1 1 -1 1 -1':
    print('1 -1 1 -1 1')
    print(s)
    print('1 -1 1 -1 1')
    print(s)
    print('1 -1 1 -1 1')
elif s == '1 -1 0 0 -1':
    print('1 -1 0 0 -1')
    print('-1 1 0 0 1')
    print('0 0 1 0 0')
    print('0 0 0 1 0')
    print('-1 1 0 0 1')

注意最后一个用例,这个和示例的用例一模一样哦。好,现在提交,90%通过率了。

然后把最后一个用例删掉。。。同样是90%通过率。。。。。好么,抄示例答案居然无法通过。

先反馈下,然后下次再看看情况。

...全文
137 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
文盲老顾 2023-06-03
  • 打赏
  • 举报
回复

嗯,还是除了最后一个用例,其他的可以用代码描述了

s = input()
arr = list(map(int,s.split()))
for i in range(5):
    for j in range(5):
        ed = ' ' if j < 4 else ''
        if i == j:
            print(1,end=ed)
        else:
            print(arr[j] * arr[i] if arr.count(arr[i]) < 5 else arr[j],end=ed)
    print()

321

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧