zoukankan      html  css  js  c++  java
  • UVA12992 【Huatuo's Medicine】

    题目大意:

    华佗什么鬼去病人家看病时会把所有药装在瓶子里串成一条链,但他不知道哪个瓶子里装哪种药,他只记得链上瓶子的顺序,所以他这样解决:当他需要带两种药(A)(B)时,他会把瓶子串成(-B-A-B)这样中间为(A)药,两边为(B)药。

    问华佗带(n)种药最少需要多少瓶子。

    题目比较简单,理解装药的顺序就好。

    个人认为,可能理解错的情况为:

    (-B-A-B-D-C-D-……)

    实际上,很显然这样是错的,因为他不知道哪个瓶子放哪种药。

    所以应该这样放:

    (-D-C-B-A-B-C-D-……)

    这样放中间的药就确定了,又因为他记得顺序,所以哪个瓶子装哪种药也就确定了。

    那么中间的药放一个瓶子,剩下要都要放两个瓶子,所以

    (ans = (n - 1) *2+1 = n*2-1)

    代码:

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int T, n;
        cin >> T;
        for (int i = 1; i <= T; i++) {
            cin >> n;
            cout << "Case #" << i <<":" << ' ' << n * 2 - 1 << '
    ';
        }
    } 
    

    完结撒花∩( ・ω・)∩

  • 相关阅读:
    MPX
    Centos7 LVM扩充存储空间
    capjoint conversations with Chenweiwen
    STA/LTA方法
    capjoint一些生成文件的解释
    搜索震源机制解
    git学习教程
    SAC处理命令transfer的一些详细介绍
    fastjson学习笔记
    语法检查程序LanguageTool学习和使用笔记
  • 原文地址:https://www.cnblogs.com/Hydrogen-Helium/p/11738060.html
Copyright © 2011-2022 走看看