Codeforces 1366A - Shovels and Swords

日常一道算法题。

翻译

铁锹和剑

Polycarp 玩一个很知名的游戏。游戏中,他有两种工具,木头和钻石。造一柄剑需要两颗钻石一块木头,造一个铁锹需要一块钻石两块木头,每种东西都值一块钱。

问他最多能赚多少钱。

输入格式

第一行输入整数 t,表示测试用例组数。

每个测试用例输入两个整数 a 和 b,分别表示两种材料的数量。

输出格式

每个测试用例输出一个整数,能赚的钱数。

分析

先判断是否最大的数量大于另一个数量的两倍,如果大于两倍,则少的有多少则赚多少钱。

否则,多了多少则先消耗多少,这是第一部分。剩余部分除以三,就能赚这个数量乘以二,然后如果还有剩余 2 2,则再加 1。

代码(Python3)

image.png
# https://codeforces.com/problemset/problem/1366/A
 
import sys
import os
import heapq
import math
 
try:
    path = "./file/input.txt"
    if os.path.exists(path):
        sys.stdin = open(path, 'r')
    # sys.stdout = open(r"./file/output.txt", 'w')
except:
    pass
 
t = int(input())
 
def printd(value):
    # print(value)
    pass
 
def case():
    arr = list(map(int, input().split(" ")))
    a, b = arr[0], arr[1]
    if a < b:
        a, b = b, a
    if a - b > b:
        print(b)
    else:
        c = a - b
        d = b - c
        count = (d // 3) * 2
        count += c
        if d % 3 == 2:
            count += 1
        print(count)
    
for _ in range(t):
    case()

更多代码尽在 https://github.com/Tconan99/Codeforces

by 费城的二鹏 2020.06.22 长春

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大概是我很懒的缘故,所以很喜欢看懒懒的猫咪,也许上辈子我是只大懒猫吧。 翻译 K周期花环 给你一个有n个灯的花环,...
    费城的二鹏阅读 148评论 0 0
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 4,349评论 0 13
  • 感觉自己有点神经衰弱,总是觉得手机响了;屋外有人走过;每次妈妈不声不响的进房间突然跟我说话,我都会被吓得半死!一整...
    章鱼的拥抱阅读 2,211评论 4 5
  • 夜莺2517阅读 127,761评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 6,965评论 1 6