2021年度训练联盟热身训练赛第二场 ABCDGJ


A Binarize It

A
在这里插入图片描述
咱也不敢说,这不就是求大于等于这个数的最小2的倍数?
打表也可以,然后算到那个2也可以

import math
for _ in range(int(input())):
    n=int(input())
    print('Input value:',n)
    if math.log(n,2)%1==0:
        print(n)
        print()
    else:
        print(2**(int(math.log(n,2))+1))
        print()

B g2g c u l8r

B

在这里插入图片描述
题目。。看的我脑壳痛,直接看例子,就就8个例子,前面的字符 代表后面那一串英文,然后再给6个输入,对应有英文的换掉,没有的照旧输出
这种题目不上字典天理难容!

d={}
for _ in range(int(input())):
    n=input().split()
    d[n[0]]=' '.join(n[1:])
for _ in range(int(input())):
    n=input().split()
    out=[]
    for i in n:
        if i in d:
            out.append(d[i])
        else:
            out.append(i)
    print(*out)


C Tip to be Palindrome

C

在这里插入图片描述
读题不方便就算了,他还乱码,累了
题意 输入一个数字n,你要计算n加几后的结果是回文数,注意格式输出
思路 没有思路 直接做 卑微强行解

hwc=[5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494, 505, 515, 525, 535, 545, 555, 565, 575, 585, 595, 606, 616, 626, 636, 646, 656, 666, 676, 686, 696, 707, 717, 727, 737, 747, 757, 767, 777, 787, 797, 808, 818, 828, 838, 848, 858, 868, 878, 888, 898, 909, 919, 929, 939, 949, 959, 969, 979, 989, 999, 1001, 1111, 1221, 1331, 1441, 1551, 1661, 1771, 1881, 1991, 2002, 2112, 2222, 2332, 2442, 2552, 2662, 2772, 2882, 2992, 3003, 3113, 3223, 3333, 3443, 3553, 3663, 3773, 3883, 3993, 4004, 4114, 4224, 4334, 4444, 4554, 4664, 4774, 4884, 4994, 5005, 5115, 5225, 5335, 5445, 5555, 5665, 5775, 5885, 5995, 6006, 6116, 6226, 6336, 6446, 6556, 6666, 6776, 6886, 6996, 7007, 7117, 7227, 7337, 7447, 7557, 7667, 7777, 7887, 7997, 8008, 8118, 8228, 8338, 8448, 8558, 8668, 8778, 8888, 8998, 9009, 9119, 9229, 9339, 9449, 9559, 9669, 9779, 9889, 9999]
hwc+=[10001, 10101, 10201, 10301, 10401, 10501, 10601, 10701, 10801, 10901, 11011, 11111, 11211, 11311, 11411, 11511, 11611, 11711, 11811, 11911, 12021, 12121, 12221, 12321, 12421, 12521, 12621, 12721, 12821, 12921, 13031, 13131, 13231, 13331, 13431, 13531, 13631, 13731, 13831, 13931, 14041, 14141, 14241, 14341, 14441, 14541, 14641, 14741, 14841, 14941, 15051, 15151, 15251, 15351, 15451, 15551, 15651, 15751, 15851, 15951, 16061, 16161, 16261, 16361, 16461, 16561, 16661, 16761, 16861, 16961, 17071, 17171, 17271, 17371, 17471, 17571, 17671, 17771, 17871, 17971, 18081, 18181, 18281, 18381, 18481, 18581, 18681, 18781, 18881, 18981, 19091, 19191, 19291, 19391, 19491, 19591, 19691, 19791, 19891, 19991, 20002, 20102, 20202, 20302, 20402, 20502, 20602, 20702, 20802, 20902, 21012, 21112, 21212, 21312, 21412, 21512, 21612, 21712, 21812, 21912, 22022, 22122, 22222, 22322, 22422, 22522, 22622, 22722, 22822, 22922, 23032, 23132, 23232, 23332, 23432, 23532, 23632, 23732, 23832, 23932, 24042, 24142, 24242, 24342, 24442, 24542, 24642, 24742, 24842, 24942, 25052, 25152, 25252, 25352, 25452, 25552, 25652, 25752, 25852, 25952, 26062, 26162, 26262, 26362, 26462, 26562, 26662, 26762, 26862, 26962, 27072, 27172, 27272, 27372, 27472, 27572, 27672, 27772, 27872, 27972, 28082, 28182, 28282, 28382, 28482, 28582, 28682, 28782, 28882, 28982, 29092, 29192, 29292, 29392, 29492, 29592, 29692, 29792, 29892, 29992, 30003, 30103, 30203, 30303, 30403, 30503, 30603, 30703, 30803, 30903, 31013, 31113, 31213, 31313, 31413, 31513, 31613, 31713, 31813, 31913, 32023, 32123, 32223, 32323, 32423, 32523, 32623, 32723, 32823, 32923, 33033, 33133, 33233, 33333, 33433, 33533, 33633, 33733, 33833, 33933, 34043, 34143, 34243, 34343, 34443, 34543, 34643, 34743, 34843, 34943, 35053, 35153, 35253, 35353, 35453, 35553, 35653, 35753, 35853, 35953, 36063, 36163, 36263, 36363, 36463, 36563, 36663, 36763, 36863, 36963, 37073, 37173, 37273, 37373, 37473, 37573, 37673, 37773, 37873, 37973, 38083, 38183, 38283, 38383, 38483, 38583, 38683, 38783, 38883, 38983, 39093, 39193, 39293, 39393, 39493, 39593, 39693, 39793, 39893, 39993, 40004, 40104, 40204, 40304, 40404, 40504, 40604, 40704, 40804, 40904, 41014, 41114, 41214, 41314, 41414, 41514, 41614, 41714, 41814, 41914, 42024, 42124, 42224, 42324, 42424, 42524, 42624, 42724, 42824, 42924, 43034, 43134, 43234, 43334, 43434, 43534, 43634, 43734, 43834, 43934, 44044, 44144, 44244, 44344, 44444, 44544, 44644, 44744, 44844, 44944, 45054, 45154, 45254, 45354, 45454, 45554, 45654, 45754, 45854, 45954, 46064, 46164, 46264, 46364, 46464, 46564, 46664, 46764, 46864, 46964, 47074, 47174, 47274, 47374, 47474, 47574, 47674, 47774, 47874, 47974, 48084, 48184, 48284, 48384, 48484, 48584, 48684, 48784, 48884, 48984, 49094, 49194, 49294, 49394, 49494, 49594, 49694, 49794, 49894, 49994, 50005, 50105, 50205, 50305, 50405, 50505, 50605, 50705, 50805, 50905, 51015, 51115, 51215, 51315, 51415, 51515, 51615, 51715, 51815, 51915, 52025, 52125, 52225, 52325, 52425, 52525, 52625, 52725, 52825, 52925, 53035, 53135, 53235, 53335, 53435, 53535, 53635, 53735, 53835, 53935, 54045, 54145, 54245, 54345, 54445, 54545, 54645, 54745, 54845, 54945, 55055, 55155, 55255, 55355, 55455, 55555, 55655, 55755, 55855, 55955, 56065, 56165, 56265, 56365, 56465, 56565, 56665, 56765, 56865, 56965, 57075, 57175, 57275, 57375, 57475, 57575, 57675, 57775, 57875, 57975, 58085, 58185, 58285, 58385, 58485, 58585, 58685, 58785, 58885, 58985, 59095, 59195, 59295, 59395, 59495, 59595, 59695, 59795, 59895, 59995, 60006, 60106, 60206, 60306, 60406, 60506, 60606, 60706, 60806, 60906, 61016, 61116, 61216, 61316, 61416, 61516, 61616, 61716, 61816, 61916, 62026, 62126, 62226, 62326, 62426, 62526, 62626, 62726, 62826, 62926, 63036, 63136, 63236, 63336, 63436, 63536, 63636, 63736, 63836, 63936, 64046, 64146, 64246, 64346, 64446, 64546, 64646, 64746, 64846, 64946, 65056, 65156, 65256, 65356, 65456, 65556, 65656, 65756, 65856, 65956, 66066, 66166, 66266, 66366, 66466, 66566, 66666, 66766, 66866, 66966, 67076, 67176, 67276, 67376, 67476, 67576, 67676, 67776, 67876, 67976, 68086, 68186, 68286, 68386, 68486, 68586, 68686, 68786, 68886, 68986, 69096, 69196, 69296, 69396, 69496, 69596, 69696, 69796, 69896, 69996, 70007, 70107, 70207, 70307, 70407, 70507, 70607, 70707, 70807, 70907, 71017, 71117, 71217, 71317, 71417, 71517, 71617, 71717, 71817, 71917, 72027, 72127, 72227, 72327, 72427, 72527, 72627, 72727, 72827, 72927, 73037, 73137, 73237, 73337, 73437, 73537, 73637, 73737, 73837, 73937, 74047, 74147, 74247, 74347, 74447, 74547, 74647, 74747, 74847, 74947, 75057, 75157, 75257, 75357, 75457, 75557, 75657, 75757, 75857, 75957, 76067, 76167, 76267, 76367, 76467, 76567, 76667, 76767, 76867, 76967, 77077, 77177, 77277, 77377, 77477, 77577, 77677, 77777, 77877, 77977, 78087, 78187, 78287, 78387, 78487, 78587, 78687, 78787, 78887, 78987, 79097, 79197, 79297, 79397, 79497, 79597, 79697, 79797, 79897, 79997, 80008, 80108, 80208, 80308, 80408, 80508, 80608, 80708, 80808, 80908, 81018, 81118, 81218, 81318, 81418, 81518, 81618, 81718, 81818, 81918, 82028, 82128, 82228, 82328, 82428, 82528, 82628, 82728, 82828, 82928, 83038, 83138, 83238, 83338, 83438, 83538, 83638, 83738, 83838, 83938, 84048, 84148, 84248, 84348, 84448, 84548, 84648, 84748, 84848, 84948, 85058, 85158, 85258, 85358, 85458, 85558, 85658, 85758, 85858, 85958, 86068, 86168, 86268, 86368, 86468, 86568, 86668, 86768, 86868, 86968, 87078, 87178, 87278, 87378, 87478, 87578, 87678, 87778, 87878, 87978, 88088, 88188, 88288, 88388, 88488, 88588, 88688, 88788, 88888, 88988, 89098, 89198, 89298, 89398, 89498, 89598, 89698, 89798, 89898, 89998, 90009, 90109, 90209, 90309, 90409, 90509, 90609, 90709, 90809, 90909, 91019, 91119, 91219, 91319, 91419, 91519, 91619, 91719, 91819, 91919, 92029, 92129, 92229, 92329, 92429, 92529, 92629, 92729, 92829, 92929, 93039, 93139, 93239, 93339, 93439, 93539, 93639, 93739, 93839, 93939, 94049, 94149, 94249, 94349, 94449, 94549, 94649, 94749, 94849, 94949, 95059, 95159, 95259, 95359, 95459, 95559, 95659, 95759, 95859, 95959, 96069, 96169, 96269, 96369, 96469, 96569, 96669, 96769, 96869, 96969, 97079, 97179, 97279, 97379, 97479, 97579, 97679, 97779, 97879, 97979, 98089, 98189, 98289, 98389, 98489, 98589, 98689, 98789, 98889, 98989, 99099, 99199, 99299, 99399, 99499, 99599, 99699, 99799, 99899, 99999]

for _ in range(int(input())):
    c=int(input())
    print('Input cost:',c)#格式
    if (c*0.2)%1==0:#是否是整数
        cc=int(c*0.2)
    else:
        cc=int(c*0.2)+1 #有小数,取整
    c+=cc
    if c in hwc:
        print(cc,c)
        print()
    else:
        for i in hwc:
            if i-c>0:
                print(i-c+cc,i)
                print()
                break

本来是只有5–10000的后来有例子没过,又强行加了一些上去

D Soccer Standings

D

在这里插入图片描述
这题呢,考察的就是耐心和打代码,看着就头大的题,还好咱不是一个人
在这里插入图片描述
题意 大概描述一下,就T个队伍打比赛,打G场,赢得得3分,输了啥没有,平局各家1分,然后输出是,总得分,赢的场数,输的场数,平局的,进球的,对放进球的
然后根据总分排名,再进球和输球的差,再进球个数,再英文首字母
膜拜我的队友!

for _ in range(int(input())):
    g,c=map(int,input().split())
    gloup=list(input().split())
    gloup.sort()
    d={}
    for i in gloup:
        d[i]=[0]*6
    for i in range(c):
        g1,goat1,g2,goat2=input().split()
        if int(goat1)>int(goat2):
            d[g1][0]+=3
            d[g1][1]+=1
            d[g2][2]+=1
            d[g1][4] += int(goat1)  # g1进球数
            d[g2][5] += int(goat1)  # g2对手进球数
            d[g2][4] += int(goat2)
            d[g1][5] += int(goat2)
        elif int(goat1)<int(goat2):
            d[g2][0]+=3
            d[g2][1]+=1
            d[g1][2]+=1
            d[g2][4] += int(goat2)
            d[g1][5] += int(goat2)
            d[g1][4] += int(goat1)  # g1进球数
            d[g2][5] += int(goat1)  # g2对手进球数
        elif int(goat1)==int(goat2):
            d[g1][0]+=1
            d[g1][3]+=1
            d[g1][4]+=int(goat1)#g1进球数
            d[g2][5]+=int(goat1)#g2对手进球数
            d[g2][0]+=1
            d[g2][3]+=1
            d[g2][4]+=int(goat2)
            d[g1][5]+=int(goat2)
    mz=sorted(list(d.items()),key= lambda x:x[0])
    zf=sorted(mz,key=lambda x:(x[1][0],x[1][4]-x[1][5],x[1][4]),reverse=True)
    print('Group',_+1,end='')
    print(':')
    for i in zf:
        print(i[0],end=' ')
        print(*i[1])
    print()

G Plate Spinning

G

在这里插入图片描述
这个讲的是转盘子,然后有一个初始转述,问那个小丑能不能再每个盘子掉下来的时候给转上去,每个盘子每秒5度,小丑每秒移动0.5

for _ in range(int(input())):
    n,p=map(int,input().split())
    print('Circus Act',_+1,end='')
    print(':')
    if n*0.5*5<=p or n==1:
        print('Chester can do it!')
        print()
    else:
        print('Chester will fail!')
        print()

这是个数学题,但是要考虑只有一个盘子的特殊情况

J Lowest Common Ancestor

J
在这里插入图片描述
在这里插入图片描述
这是个观察题,记住那个完美二叉树,然后输入是十六进制,要找到这一行两个数的共同端点(最早的那个,不然都是1了)
然后十六进制输出
**思路:**讲真,一开始真没注意,一直想着2n 个数什么什么的,后来发现,整除啊!!,找这样一个数一直整除,迟早能有相同的一天。

n=int(input())
for i in range(n):
    s=input("")
    s=s.split()
    a=int(s[0],16)
    b=int(s[1],16)
    # print(a,b)
    while not a==b :
        if a>b:
            a=a//2
        else:b=b//2
    print("Case #",end='')#要另用一个print不然格式不对。
    print(i+1,end=": ")
    print(str(hex(b))[2:])
    print()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值