数列极差问题(贪心) 求数据(一直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

相关文章

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Mysql如何解决死锁问题

《Mysql如何解决死锁问题》:本文主要介绍Mysql如何解决死锁问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录【一】mysql中锁分类和加锁情况【1】按锁的粒度分类全局锁表级锁行级锁【2】按锁的模式分类【二】加锁方式的影响因素【三】Mysql的死锁情况【1

SpringBoot内嵌Tomcat临时目录问题及解决

《SpringBoot内嵌Tomcat临时目录问题及解决》:本文主要介绍SpringBoot内嵌Tomcat临时目录问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录SprinjavascriptgBoot内嵌Tomcat临时目录问题1.背景2.方案3.代码中配置t

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、