洛谷-3月月赛2-Div.2

参赛者分享了在洛谷的一次编程竞赛经历,使用Python参与IOI赛制的比赛,遇到的题目涉及抽象概括能力及算法设计。第一题虽然理解花费时间较长,但编码较快;第二题直接求解;第三题因未能理解样例计算而受阻;第四题则因时间限制未能解答。代码示例展示了问题解决的部分思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天参加的一个洛谷竞赛,毕竟每周总得打一次比赛。

这次用python打的比赛,IOI赛制的,代码并没有全部通过,第一部分只通过了80%,第二部分只通过了70%

  • 第一道题目主要是一个抽象概括的能力,题目读明白用了一段时间,编写代码就几分钟的事情
  • 第二道题目题目很直白,直接就是求解
  • 第三道题,样例的计算过程没思考明白,卡在最后一个测试点上
  • 第四道题,完全没时间看

题目:

立夏

 芒种:

 

代码:

立夏:

#立夏
import os
import sys
import math
t = int(input())
ans = []
for i in range(t):
    a = int(input())
    ans.append(a)
for i in range(t):
    res = 1
    tmp = ans[i]
    la = tmp%3
    if la == 2:
        print(0)
        continue
    if la == 1:
        ans = ans
        tmp = tmp//3
    while tmp:
        la = tmp%3
        tmp = tmp//3
        if la>=1:
            res*=math.pow(2,(2-la))
    print(int(res))

芒种:

#芒种
import os
import sys
t = int(input())
def bit(n):
    s = ''
    while n>0:
        la = n%2
        s =str(la)+s
        n = n//2
    return s
        
for i in range(t):
    n = int(input())
    d = 0
    for j in range(n):
        a = list(map(int,input().split()))
        if a[0] == 1:
            d = d*2
        else:
            d = d+a[1]
    if d == 0:
        print(0)
    else:
        print(bit(d))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Li&&Tao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值