zoukankan      html  css  js  c++  java
  • codeforces 373 A

    codeforces 373 A - Efim and Strange Grade(算数模拟)

    原题:Efim and Strange Grade

    题意:给出一个n位的实型数,你可以选择t次在任意位进行四舍五入的进位,求最大结果。

    解法:这道题一定不能忽略数位计算时本身带来的进位,如果我们要改变这个数的大小,一定是在最先的那个出现5以上的数字进行四舍五入,之后的t次允许我们多次四舍五入,如果自然进位则不消耗t。

    最后一点,整数位的进位也是需要考虑的

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    using namespace std;
    const int N=2e5+10;
    char a[N];
    int main()
    {
        int n,t;
        while(~scanf("%d%d",&n,&t))
        {
            scanf("%s",a);
            int len=strlen(a),i,j,st,v,flag=0;
            for(i=0; i<len&&a[i]!='.'; i++);
            for(j=i+1; j<len&&a[j]<'5'; j++);
            st=(j==len?0:1);
            t-=1;
            a[j]='';
            for(int k=j-1; k>=0; k--)
            {
                if(a[k]=='.'){
                    flag=1;continue;
                }
                v=a[k]-'0'+st;
                a[k]=v%10+'0';
                st=v/10;
                if(!st){
                   if(!flag&&v>=5&&t>0){
                      t--;
                      st=1;
                      a[k]='';
                   }else break;
                }
            }
            if(st==1) putchar('1');
            for(j=strlen(a)-1; j>i&&a[j]=='0'; j--);
            if(a[j]!='.') j++;
            a[j]='';
            printf("%s",a);
            puts("");
        }
        return 0;
    }
    
    
  • 相关阅读:
    Python自动化运维答疑解惑
    MySQL基础
    Centos下常用MySQL语法
    PDO
    生成静态页面的好处
    页面纯静态
    源码安装LNMP
    Nginx URL重写(rewrite)
    防盗链
    自定义菜单
  • 原文地址:https://www.cnblogs.com/zsyacm666666/p/6694317.html
Copyright © 2011-2022 走看看