zoukankan      html  css  js  c++  java
  • G: A Towering Problem

    题目描述

    You’ve been put in charge of an art exhibit from the famous minimalist sculptor J (even his name is minimalist!). J’s work involves the careful layout of vertically dispositioned orthogonal parallelpipeds in a set of tapering obelisks — in other words, he puts smaller boxes on top of larger boxes. His most recent triumph is called “2 by 3’s Decreasing,” in which he has various sets of six boxes arranged in two stacks of three boxes each. One such set is shown below:
    J has sent you the art exhibit and it is your job to set up each of the six-box sets at various locations throughout the museum. But when the sculptures arrived at the museum, uncultured barbarians(i.e., delivery men) simply dropped each set of six boxes on the floor, not realizing the aesthetic appeal of their original layout. You need to reconstruct each set of two towers, but you have no idea which box goes on top of the other! All you know is the following: for each set of six, you have the heights of the two towers, and you know that in any tower the largest height box is always on the bottom and the smallest height box is on the top. Armed with this information, you hope to be able to figure out which boxes go together before tomorrow night’s grand opening gala.

    输入

    The input consists of eight positive integers. The first six represent the heights of the six boxes.
    These values will be given in no particular order and no two will be equal.
    The last two values (which will never be the same) are the heights of the two towers.
    All box heights will be ≤ 100 and the sum of the box heights will equal the sum of the tower heights.

    输出

    Output the heights of the three boxes in the first tower (i.e., the tower specified by the first tower height in the input), then the heights of the three boxes in the second tower. Each set of boxes should be output in order of decreasing height. Each test case will have a unique answer.

    样例输入

    12 8 2 4 10 3 25 14
    

    样例输出

    12 10 3 8 4 2
    

    CODE:

     

    #include <stdio.h>

    int main()

    {

          int a[6],i,j,k,t1,t2,t;

        for(i=0;i<6;i++)

               scanf("%d",&a[i]);

          scanf("%d",&t1);

          scanf("%d",&t2);

          for(i=0;i<5;i++)

               for(j=i+1;j<6;j++)

                     if(a[i]<a[j])

                     {

                          t=a[i];

                          a[i]=a[j];

                          a[j]=t;

                     }

          for(i=0;i<6;i++)

               for(j=i+1;j<6;j++)

                     for(k=j+1;k<6;k++)

                     {

                          if(a[i]+a[j]+a[k]==t1)

                                printf("%d %d %d ",a[i],a[j],a[k]);

                     }

          for(i=0;i<6;i++)

               for(j=i+1;j<6;j++)

                     for(k=j+1;k<6;k++)

                     {

                          if(a[i]+a[j]+a[k]==t2)

                                printf("%d %d %d ",a[i],a[j],a[k]);

                     }

        return 0;

    }

  • 相关阅读:
    这个站不错
    Using YQL as crawler for Javascript
    xmldatabase domdatabase
    语法分析器自动生成工具一览
    Ruby, Concurrency, and You
    图书影印
    数据可视化我在寻找一款类似vfp或是access这样自带可视化风格的数据库或是键盘数据库
    金融工程
    joke
    在ubuntu上安装全文搜索中文分词Coreseek/sphinx及和Rails集成 转载
  • 原文地址:https://www.cnblogs.com/shu233/p/5575576.html
Copyright © 2011-2022 走看看