zoukankan      html  css  js  c++  java
  • Tinkoff Challenge

    老年人题解,语言python3

    A - Bank Robbery

    题意:给你ABC,以及n个数,问你在(B,C)之间的数有多少个。

    题解:对于每个数判断一下就好了嘛

    x,y,z = map(int,input().split())
    n = int(input())
    print(len(list(filter(lambda x:y<int(x) and z>int(x),input().split()))))
    

    B. Cutting Carrot

    题意:给你一个高为h,底为1的等腰三角形,你需要平行的砍n-1刀,然后使得每一块的面积都相同,问你每次砍的位置在哪儿。

    题解:初中几何题,假设第i次砍的位置是x,则,那么答案就出来了嘛

    n,h = map(int,input().split())
    for x in range(1,n):
        print("%.10f"%(h*(x/n)**0.5),end=' ')
    

    C. Naming Company

    题意:每个人都有一个字符集,A想让最后的字符串的大小最小,B想让字符串的大小最大,都很机智,问你最后的答案是什么模样的。

    题解:贪心。A,B只可能用前n/2个字符,排序之后。如果A的字符小于B的字符,那么显然都会抢占最前面的位置;否则的话,就都会抢占最后的位置,让对方尽量放在前面。

    a = list(input())
    b = list(input())
    a.sort()
    b.sort(reverse=True)
    ans = list()
    for i in a:
        ans.append("a") 
    len1 = len(a)//2 - 1
    len2 = len(a)//2 - 1
    if len(a)%2:
        len1 = len1 + 1
    i = 0 # first
    j = 0 # end
    flag = 0
    ai = 0
    aj = 0
    bi = 0
    bj = 0
    while i + j < len(a):
        if i + j < len(a):
            if a[ai] < b[bi] and flag == 0:
                ans[i] = a[ai]
                i = i + 1
                ai = ai + 1
            else:
                ans[len(a)-j-1] = a[len1 - aj]
                j = j + 1
                aj = aj + 1
                flag = 1
        if i + j < len(a):
            if a[ai] < b[bi] and flag == 0:
                ans[i] = b[bi]
                i = i + 1
                bi = bi + 1
            else:
                ans[len(a)-j-1] = b[len2 - bj]
                j = j + 1
                bj = bj + 1
                flag = 1
    print("".join(ans))
  • 相关阅读:
    第04章-面向切面的Spring
    第03章-高级装配
    第02章-装配Bean
    第01章-Spring之旅
    IntelliJ IDEA打可运行jar包时的错误
    序列化+fastjson和java各种数据对象相互转化
    TinkerPop中的遍历:图的遍历策略
    TinkerPop中的遍历:图的遍历中谓词、栅栏、范围和Lambda的说明
    asp.net动态网站repeater控件使用及分页操作介绍
    HTML入门标签汇总
  • 原文地址:https://www.cnblogs.com/qscqesze/p/6862114.html
Copyright © 2011-2022 走看看