zoukankan      html  css  js  c++  java
  • csu 1009 抛硬币

    稍微演算一下,就会发现只要把每一列大小次序依次选择元素,然后相乘相加,结果一定是最大的;

    比如a > b, c > d

    a c

    b d

    ac+bd > ad+bc (移向做差),然后扩展到多行多列的情况就行了。

    有一条警告,不知道怎么排除。

    29 *\csu1009.c [Warning] passing arg 4 of `qsort' from incompatible pointer type

     1 # include <stdio.h>
    2 # include <stdlib.h>
    3
    4 # define LMAX 105
    5 # define CMAX 15
    6
    7 double table[CMAX][LMAX];
    8 double e;
    9 int N, M;
    10
    11 int cmp(const double *pa, const double *pb);
    12
    13 int main()
    14 {
    15 double tmp;
    16 int i, j;
    17
    18 while (1)
    19 {
    20 scanf("%d%d", &N, &M);
    21 if (!M && !N) break;
    22 for (i = 0; i < N; ++i)
    23 for (j = 0; j < M; ++j)
    24 scanf("%lf", &table[j][i]);
    25 for (j = 0; j < M; ++j)
    26 qsort(table[j], N, sizeof(double), cmp);
    27 for (e = 0, i = 0; i < N; ++i)
    28 {
    29 tmp = 1.0;
    30 for (j = 0; j < M; ++j)
    31 tmp *= table[j][i];
    32 e += tmp;
    33 }
    34 printf("%.4lf\n", e);
    35 }
    36
    37 return 0;
    38 }
    39
    40 int cmp(const double *pa, const double *pb)
    41 {
    42 if ((*pa) < (*pb)) return -1;
    43 else if ((*pa) > (*pb)) return 1;
    44 return 0;
    45 }



  • 相关阅读:
    hadoop SecondNamenode 详解
    LaTeX的图片插入及排版[转]
    Secondary Namenode
    分布式文件系统元数据服务模型【转】
    Linux查看物理CPU个数、核数、逻辑CPU个数
    TCP的滑动窗口机制【转】
    sysctl.conf
    Iperf[转]
    CVE-2017-11882漏洞利用
    2017EIS CTFwriteup
  • 原文地址:https://www.cnblogs.com/JMDWQ/p/2408287.html
Copyright © 2011-2022 走看看