题目描述

公元208年,曹操发兵攻打荆州,刘备派诸葛亮到东昊,说服了孙权。孙、刘两家联合起来共同抵抗曹军。这年冬天,孙刘大军在赤璧与曹军隔江对崎。曹军将领常年在北方生活,不习惯坐船,许多人因为晕船根本没法打仗。

于是曹操就下令将战船用铁链连在起,上面铺上木板,这样在上面行走的时候,就好像走在平地上一样,不会晕船了。吴军将领黄盖观察到这个情况后,就对大都督周瑜献计道,曹军的船只连在一起。我们可以采取火攻。周瑜听后点了点头,也觉得此计可行。于是黄盖先给曹操写了一封信,假称要投降曹操。

曹军现在有九艘船,三行三列排布,到了约定的这天,黄盖带着几艘轻便的小艇船载满浇了油的柴草,外面用惟幕挡上,插上旌旗前往曹营,当时刮的是东南风,顺风而行。曹操以为这是来投降的,所以毫无防备,等到离曹营只有二里左右的时候,黄盖命令士兵点燃柴草。

黄盖下令士兵,将同行同列或同斜行的三艘船点燃借助风势就可以将所有的曹军船只点燃,然而曹操也下令士兵开始阻碍火船的前进,同理,曹操如果阻碍了同行同列或同一斜行的三艘船着火,黄盖将被生擒,如果双方都没有完成,则互相撤军,已知黄盖每次只能下令点燃艘曹军船只,曹操每次只能指挥阻碍一艘火船的前进,现在我们用九个数字代表曹军船只的位置:

123

456

789

前方的候给孙刘大军带回来一封密函交给诸葛先生,这封密函是一串数字代表黄将军和曹操对弃的顺序,现在让诸葛先生你来判断这场战斗究竟是谁赢了。

输入描述:

行,一串数字,表示黄盖点火和曹军阻碍的地点。黄盖总是先手

输出描述:

一行,如果黄盖赢,输出“huang Wins.””。如果曹操赢,输出“cao wins.”。如果平局,输出“drew.“

示例1

输入

5237649

输出

huang wins.

代码:

# coding=utf-8
#n='5237649'
n=input()
m=0
board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
while(m<len(n)):
    k=1
    for i in range(3):
        for j in range(3):
            if k==int(n[m]):
                if (m/float(2)==int(m/float(2))):
                    board[i][j]='H'
                else:
                    board[i][j]='C'
            k+=1
    m+=1

#print(board)

def board_isfull(board):  
    for i in range(3):
        if (' ' in board[i]):
            return 0
    return 1
    pass

def Win_or_lose(board):
    isfull = board_isfull(board)
    for i in range(3): 
        if( board[0][i] == board[1][i] == board[2][i]):
            return board[0][i]
            pass
        pass

    for i in range(3):  
        if( board[i][0] == board[i][1] == board[i][2]):
            return board[i][0]
            pass
        pass

    if (board[0][0] == board[1][1] == board[2][2]): 
        return board[0][0]

    if (board[0][2] == board[1][1] == board[2][0]): 
        return board[0][2]

    if isfull:
        return 'drew.'  
    else:
        return ' '

result = Win_or_lose(board)
if (result == 'C'):
    print('cao wins.')
elif (result == 'H'):
    print('huang Wins.')
elif (result == 'D'):
    print('drew.')

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐