列表

详情


NC219035. 春游

描述

 盼望着,盼望着,东风来了,春天脚步近了。

值此大好春光,老师组织了同学们出去划船,划船项目收费如下:

人船最多坐两人,也可以坐一人,收费

三人船最多坐三人,也可以坐两人或者一人,收费

本次出游加上带队老师共人,如何安排能使得花费最小呢?

输入描述

第一行给出一个正整数 ,代表测试数据的组数。

接下来  行每行给出三个正整数,含义如题。

输出描述

每组输入输出一行,代表最小的花费


示例1

输入:

2
2 20 200
3 20 20

输出:

20
20

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++11) 解法, 执行用时: 5ms, 内存消耗: 396K, 提交时间: 2021-04-15 11:52:56

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int T;
	cin>>T;
	while(T--){
		long long n,a,b;
		cin>>n>>a>>b;
		cout<<min({(n+1)/2*a,(n-2)/2*a+b,(n+2)/3*b,(n-2)/3*b+2*a,n/3*b+a})<<endl;
	}
	
} 

Python3(3.9) 解法, 执行用时: 36ms, 内存消耗: 6776K, 提交时间: 2021-04-12 19:59:38

import math

t = int(input())
while t:
    t -= 1
    n, a, b = map(int, input().split())
    print(min({(n + 1) // 2 * a, (n - 2) // 2 * a + b, (n + 2) // 3 * b, n // 3 * b + a, (n - 2) // 3 * b + 2 * a}))

上一题