• A Compatible Pair


    Description

    “年”是一个生活在海洋深处的怪物。每年,它都出现在陆地上,吞噬牲畜甚至是人。为了让怪物离开,人们用红色,光线和爆炸的声音填满他们的村庄,所有这些都吓跑了怪物。
     
    小汤米有 n 个灯笼,大班班有灯笼。汤米的灯具有亮度a1,a2,...,an,而Banban的亮度分别为亮度b1,b2,...,bm。
     
    汤米打算藏一个灯笼,然后班班选择汤米的一个没藏起来的灯笼和一个他自己的灯笼组成一对。这对灯笼的亮度将是两个灯笼亮度的乘积。
     
    Tommy想让乘积尽可能小,而Banban试图让乘积尽可能大。

    Input

    第一行包含两个整数n和m(2≤n,m≤50)。
     
    第二行包含n个整数a1,a2,...,an。
     
    第三行包含m个整数b1,b2,...,bm。
     
    整数范围从-10 到 10 9

    Output

    输出单个整数——所选灯笼对的亮度。

    Sample Input

    Input
    2 2
    20 18
    2 14
    
    Output
    252
    
    Input
    5 3
    -1 0 1 2 3
    -1 0 1
    
    Output
    2
    

    Hint

    在第一个例子中,Tommy将隐藏20,Banban将从Tommy选择18,从他自己选择14。
     
    在第二个例子中,Tommy将隐藏3,Banban将从Tommy中选择2,从他自己选择1。
     
     
     
    解题思路:我一直都理解错了这道题的意思,开始以为Tommy不会看到banban手中的灯笼的亮度,所以为了避免出现更大按我的理解tommy应该是隐藏最大的数,可这道题真正的意思是tommy是可以看到banban的灯笼亮度的,而且考虑到数据量很小所以可以直接采用暴力的方法,先找到二者能够组成的最大亮度,记录下此时tommy提供的亮度,在查找一次排除tommy的标记的亮度后最大的亮度就是所求的亮度。
     1 #include <iostream>
     2 #include <cstdio>
     3 #include <climits>
     4 using namespace std;
     5 int main()
     6 {
     7     long long int a[60],b[60],maxn;
     8     int i,j,n,m,k;
     9     scanf("%d%d",&n,&m);
    10     for(i=0; i<n; i++)
    11     {
    12         scanf("%lld",&a[i]);
    13     }
    14     for(i=0; i<m; i++)
    15     {
    16         scanf("%lld",&b[i]);
    17     }
    18     maxn=LLONG_MIN;
    19     for(i=0; i<n; i++)
    20     {
    21         for(j=0; j<m; j++)
    22         {
    23             if(a[i]*b[j]>maxn)
    24             {
    25                 maxn=a[i]*b[j];
    26                 k=i;
    27             }
    28         }
    29     }
    30     maxn=LLONG_MIN;
    31     for(i=0; i<n; i++)
    32     {
    33         if(i==k)
    34         {
    35             continue;
    36         }
    37 
    38         for(j=0; j<m; j++)
    39         {
    40             if(a[i]*b[j]>maxn)
    41             {
    42                 maxn=a[i]*b[j];
    43             }
    44         }
    45     }
    46     printf("%lld
    ",maxn);
    47     return 0;
    48 }
  • 相关阅读:
    C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写 C语言零基础入门教程
    C/C++ atof函数 C语言零基础入门教程
    C/C++ ultoa函数 C语言零基础入门教程
    C/C++ _strlwr_s 函数 – 字符串大写转小写 C语言零基础入门教程
    C/C++ ceil 函数 C语言零基础入门教程
    C/C++ atol函数 C语言零基础入门教程
    idea在商店无法搜索到插件
    Go 关于 protoc 工具的小疑惑
    Golang 关于 proto 文件的一点小思考
    Go 如何编写 ProtoBuf 插件(二)?
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/9318262.html
Copyright © 2020-2023  润新知