zoukankan      html  css  js  c++  java
  • BestCoder Round #33——1001——zhx's submissions

    问题描述
    作为史上最强的刷子之一,zhx在各大oj上交了很多份代码,而且多数都AC了。
    有一天,zhx想数一数他在n个oj上一共交了多少份代码。他现在已经统计出在第i个oj上,他交了ai份代码。而把它们加起来就是你的工作了。
    当然zhx是一个不走寻常路的人,所以他的数字都是用B进制表示的。而他也要求你告诉他B进制的数。
    但是zhx有一个恶趣味的习惯,他算加法的时候从来不进位。比如他算十进制5+6的答案是1。而且他还要求你也要按照他的方式来做加法。
    输入描述
    多组数据(不超过1000组)。读到文件尾。
    对于每组数据,第一行是两个空格分开的正整数nB(1n100, 2B36)
    接下来n行,每行一个B进制数ai。数码是0到9和小写a到z。输入可能包含前导0,数字长度不超过200位。
    输出描述
    对于每组询问输出一行一个B进制数表示答案。不能包含前导0。
    输入样例
    2 3
    2
    2
    1 4
    233
    3 16
    ab
    bc
    cd
    输出样例
    1
    233
    14

     大意:大数加法,要考虑全为零的情况

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    using namespace std;
    int main()
    {
        int n,B,i,j,maxn,flag,flag1,m;
        int s[210];
        char a[210][210];
        while(cin>>n>>B){
            m = flag = flag1 = maxn = 0;
        memset(s,0,sizeof(s));
        for(int i = 0 ; i < n ; i++)
            cin >> a[i];
        for(int i = 0 ; i < n ; i++){
                m = 0;
               if(strlen(a[i]) > maxn)
                maxn = strlen(a[i]);
               for(int j = strlen(a[i])-1;j >= 0;j--){
                    if(a[i][j] >= '0' &&a[i][j] <='9'){
                      s[m] += a[i][j] - '0';
                      s[m] %= B;
                    }
                    else {
                    s[m] += a[i][j] + 10 - 'a';
                    s[m] %= B;
                    }
                    m++;
               }
        }
        for(int i = maxn - 1; i >= 0; i--){
                if(s[i] == 0 && flag == 0){
                        flag1++;
                }
                else {
                    flag = 1;
                   if(s[i] >= 0 && s[i] <= 9)
                    printf("%d",s[i]);
                   else printf("%c",s[i] - 10 + 'a');
                }
        }
        if( flag1 == maxn)
            cout << '0';
        printf("
    ");
        }
        return 0;
    }
    View Code
  • 相关阅读:
    数据仓库
    HiveSQL 数据定义语言(DDL)
    HiveSQL 数据操控、查询语言(DML、DQL)
    【ASP.NET Core】Blazor+MiniAPI完成文件下载
    MySQL的WAL(WriteAhead Logging)机制
    MySQL系列 | 索引数据结构大全
    眼见为实,看看MySQL中的隐藏列
    mysql的默认隔离级别:可重复读(Repeatable Read)
    缓存淘汰算法LRU算法
    Android设计模式系列(12)SDK源码之生成器模式(建造者模式)
  • 原文地址:https://www.cnblogs.com/zero-begin/p/4339594.html
Copyright © 2011-2022 走看看