zoukankan      html  css  js  c++  java
  • Codeforces Round #204 (Div. 2) C. Jeff and Rounding——数学规律

    给予N*2个数字,改变其中的N个向上进位,N个向下进位,使最后得到得数与原来数的差的绝对值最小

    考虑小数点后面的数字,如果这些数都非零,则就是  abs(原数小数部分相加-1*n), 多一个0 则 min( abs(原数小数部分相加-1*n) ,abs(原数小数部分相加-1*(n-1)) )以此类推

    #include<stdio.h>
    int abs(int a){
        if(a<0)return -a;
        else return a;
    }
    
    int Min(int a,int b){
        if(a<b)return a;
        else return b;
    }
    
    int main(){
        int n,i;
        while(scanf("%d",&n)!=EOF){
            int n2=n*2;
            int ret=9999999,temp,all=0,k=0;
            for(i=1;i<=n2;i++){
                scanf("%*d.%d",&temp);
                all+=temp;
                if(temp==0)k++;
            }
            for(i=0;i<=k;i++){
                ret=Min(ret,abs(all-(1000*n-1000*i)));
            }
            printf("%d.%03d
    ",ret/1000,ret%1000);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    H5基础
    函数
    分支结构/循环结构
    图解 idea打jar包的步骤
    jmeter查看使用文档后总结
    Ride的使用
    Robot Framework
    jmeter+ant+jenkins
    ant
    Mysql选择合适的数据类型
  • 原文地址:https://www.cnblogs.com/huhuuu/p/3361457.html
Copyright © 2011-2022 走看看