数列极差问题(贪心) 求数据(一直Wrong)

2024-01-04 02:58

本文主要是介绍数列极差问题(贪心) 求数据(一直Wrong),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*日期:2011-10-21
  作者:xiaosi
  题目: 数列极差问题(贪心)
*/
#include<iostream>
#include<cstdio>
#include<stdlib.h>
#include<math.h>
using namespace std;
#define Maxint   999999
#define Minint   -1
int progression[2001];
int progression1[2001];
int cmp(const void *a,const void *b)
{
    return *(int *)a-*(int *)b;
}
int Max(int progression[],int n)
{
    int i,j,a,b,max;
    for(i=0;i<n-1;i++)//求max
    {
        a=0;b=1;
        for(j=2;j<n;j++)
        {
            if(progression[j]<progression[a]||progression[j]<progression[b])
            {
                if(progression[a]>progression[b])
                {
                    a=j;
                }
                else
                {
                    b=j;
                }
            }
        }
        max=progression[a]*progression[b]+1;
        progression[a]=max;
        progression[b]=Maxint;
    }
    return max;
}
int Min(int progression[],int n)
{
    int i,j,a,b,min;
    for(i=n-2;i>=0;i--)//求min
    {
        a=n-2;b=n-1;
        for(j=n-3;j>=0;j--)
        {
            if(progression[j]>progression[a]||progression[j]>progression[b])
            {
                if(progression[a]<progression[b])
                {
                    a=j;
                }
                else
                {
                    b=j;
                }
            }
        }
        min=progression[a]*progression[b]+1;
        progression[a]=min;
        progression[b]=Minint;
    }
    return min;
}
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int min,max,M,num,i,j;
        for(i=0;i<n;i++)
        {
            scanf("%d",&progression[i]);
        }
        qsort(progression,n,sizeof(progression[0]),cmp);
        for(i=0;i<n;i++)
        {
            progression1[i]=progression[i];
        }
        max=Max(progression,n);
        //min=Min(progression1,n);
        min=1;
        for(i=n-1;i>=0;i--)
        {
            min=min*progression1[i]+1;
        }
        M=max-min;
        if(M==0)
        {
            num=1;
        }
        else
        {
            num=(int)log10(M)+1;
        }
        printf("%d\n%d\n",num,M);
    }
    return 0;
}

这篇关于数列极差问题(贪心) 求数据(一直Wrong)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567952

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到