zoukankan      html  css  js  c++  java
  • HDU 5186 zhx's submissions 模拟,细节 难度:1

    http://acm.hdu.edu.cn/showproblem.php?pid=5186

    题意是分别对每一位做b进制加法,但是不要进位

    模拟,注意:1 去掉前置0 2 当结果为0时输出0,而不是全部去掉

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    const int maxn=101;
    const int maxm=201;
    int n,b;
    char a[maxn][maxm];
    int len[maxn];
    char ans[maxm];
    int getnum(char c){
            if(c>='0'&&c<='9')return c-'0';
            return c-'a'+10;
    }
    char getchar(int t){
            if(t<10)return '0'+t;
            return 'a'+t-10;
    }
    void add(int ind,int num){
            int tmp=(getnum(ans[ind])+num)%b;
            ans[ind]=getchar(tmp);
    }
    int main(){
            while(scanf("%d%d",&n,&b)==2){
                    int mxlen=0;
                    for(int i=0;i<n;i++){
                            scanf("%s",a[i]);
                            len[i]=strlen(a[i]);
                            mxlen=max(mxlen,len[i]);
                    }
                    for(int i=0;i<mxlen;i++)ans[i]='0';
                    ans[mxlen]=0;
                    for(int j=1;j<=mxlen;j++){
                            for(int i=0;i<n;i++){
                                    if(len[i]>=j){
                                            add(mxlen-j,getnum(a[i][len[i]-j]));
                                    }
                            }
                    }
                    int ind;
                    for(ind =0;ans[ind]=='0'&&ind<mxlen-1;ind++){}
                    printf("%s
    ",ans+ind);
    
            }
            return 0;
    }
    

      

  • 相关阅读:
    人生中最重要的三位老师
    自我介绍
    秋季学习总结
    第五周学习总结
    第四周总结
    第三周基础作业
    判断上三角矩阵
    第二周作业及编程总结
    求最大值及其下标
    查找整数
  • 原文地址:https://www.cnblogs.com/xuesu/p/4338608.html
Copyright © 2011-2022 走看看