灌水(python实现)

灌水

Time limit per test: 1.0 seconds

Memory limit: 256 megabytes

时间转眼来到了 ECNU 校赛的前夜,ECNU 校赛命题组在紧锣密鼓地进行最后的题目测试以及题目顺序安排,然而在重新看了一遍题目之后,cdm 发现,大一的题目太难了,于是他准备去掉一道中档构造题并换上两道简单题,也就是灌水。

ECNU 校赛总共有n道题按照题目排列顺序给出,每道题的难度可以表示为一个 1 5 之间的整数,其中难度为 1 的是简单题,难度为 2 4 的为中档题,难度为 5 的是难题。

如果没有中档难度的题目,请输出 Deep Dark Fantasy of ECNU。如果存在中档难度的题目,请将第一个中档题换为两道简单题并按顺序输出现在所有题目的难度。(注意其他题目仍然需要保持原来的顺序,新加的题目应在删去的中档题处)

Input

多组输入,循环读入。

每组数据的第一行n(1<=n<=50)为题目的个数。

接下来一行给出 n个整数a1,a2,a3....an为每题的难度。范围为【1,5】

Output

对于每组数据,输出一行:

  • 如果没有中档难度的题目,请输出 Deep Dark Fantasy of ECNU
  • 如果有中档难度的题目,请按顺序输出灌水之后所有题目的难度,整数和整数之前用空格隔开。

答案比对忽略行末空格。

Examples

Input
3
1 2 3
4
1 1 5 5
4
2 3 3 3
Output
1 1 1 3
Deep Dark Fantasy of ECNU
1 1 3 3 3

Source

2017 华东师范大学校赛 

python3 实现 :
def get_data():
    a=[]
    c=[]
    while True:
        try:
            n=eval(input())
            a.append(n)
            str_in = input()
            b = [int(n) for n in str_in.split()]
            c.extend(b)
        except:
            break
    return a,c

def main():
    a,c=get_data()
    flag=0
    for i in a:
        m=c[flag:flag+i]
        cal(m)
        flag+=i

def cal(m):
    dif=[]
    flag=0
    for i in m:
        if i!=1 and i!=5:
            if flag==0:
                dif.extend([1,1])
            else:
                dif.append(i)
            flag+=1
        else:
            dif.append(i)
    if flag==0:
        print("Deep Dark Fantasy of ECNU")
    else:
        str1=""
        for j in dif:
            str1=str1+str(j)+' '
        print(str1)

main()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值