hdu2100Lovekey(高精度26进制)

2024-06-12 00:08

本文主要是介绍hdu2100Lovekey(高精度26进制),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Lovekey

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5104    Accepted Submission(s): 1661


Problem Description
XYZ-26进制数是一个每位都是大写字母的数字。 A、B、C、…、X、Y、Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规则如下
A0A1A2A3…An-1 的每一位代表的数字为a0a1a2a3…an-1 ,则该XYZ-26进制数的10进制值就为 

m = a0 * 26^(n-1) + a1 * 26^(n-2) + … + an-3* 26^2 + an-2*26 + an-1 

一天vivi忽然玩起了浪漫,要躲在学校的一个教室,让枫冰叶子去找,当然,她也知道枫冰叶子可不是路痴,于是找到了XYZ的小虾和水域浪子帮忙,他们会在vivi藏的教室的门口,分别写上一个XYZ-26进制数,分别为 a 和 b,并且在门锁上设置了密码。显然,只有找到密码才能打开锁,顺利进入教室。这组密码被XYZ的成员称为lovekey。庆幸的是,枫冰叶子知道lovekey是 a的10进制值与b的10进制值的和的XYZ-26进制形式。当然小虾和水域浪子也不想难为枫冰叶子,所以a 和 b 的位数都不会超过200位。
例如第一组测试数据 
a = 0 * 26^5+0* 26^4+ 0* 26^3+ 0 *26^2 + 3*26 + 7 = 85
b = 1*26^2 + 2*26 + 4 = 732
则 a + b = 817 = BFL

Input
题目有多组测试数据。
每组测试数据包含两个值均为的XYZ-26进制数,每个数字的每位只包含大写字母,并且每个数字不超过200位。

Output
输出XYZ的lovekey,每组输出占一行。

Sample Input
  
AAAADH BCE DRW UHD D AAAAA

Sample Output
  
BFL XYZ D

26进制下做,然后转化为10进制数


#include <iostream>
#include <cstring>
#include <string>
using namespace std;
const int MAXN = 1000;
int num1[MAXN],num2[MAXN],sum[MAXN];
string str1,str2;void solve(){memset(num1,0,sizeof(num1));memset(num2,0,sizeof(num2));memset(sum,0,sizeof(sum));int len1 = str1.size();int len2 = str2.size();for(int i=len1-1,k=0; i>=0; i--) num1[k++]=str1[i]-'A';for(int i=len2-1,k=0; i>=0; i--) num2[k++]=str2[i]-'A';int maxLen = max(len1,len2);for(int i=0; i<maxLen; i++){sum[i]+=(num1[i]+num2[i]);if(sum[i]>=26){sum[i+1]++; sum[i]%=26;}}int i=MAXN-1;while(sum[i]==0 && i>=0) i--;if(i==-1) cout<<'A';else while(i!=-1) cout<<char(sum[i--]+'A');cout<<endl;
}
int main()
{while(cin>>str1>>str2) solve();return 0;
}




这篇关于hdu2100Lovekey(高精度26进制)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052636

相关文章

Linux float int和16进制互相转换

Linux 上float int和16进制互换操作。之前把float转16进制,也就是转成4个字节,方便使用串口传输嘛。使用的方法是: //float 转 16进制float x_pid_p = 15.0;unsigned char * bValue = (unsigned char *)& x_pid_p;printf("%x\t%x\t%x\t%x\n", bValue[0], bVa

什么是慢查询——Java全栈知识(26)

1、什么是慢查询 慢查询:也就是接口压测响应时间过长,页面加载时间过长的查询 原因可能如下: 1、聚合查询 2、多表查询 3、单表数据量过大 4、深度分页查询(limit) 如何定位慢查询? 1、Skywalking 我们可以通过 Skywalking 来看到是哪个请求的哪个查询的时间执行时间过长。 2、Mysql 自带的慢日志查询 慢查询日志记录了所有执行时间超过指定参数(long

java字符串在内存和文件中编码的不同——如何理解进制(二进制)与编码(UTF-8)的关系

不管是在内存中,还是文件中,还是网络传输中,计算机运算和存储的都只能是二进制。 内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码;外码是程序与外部交互时外部使用的字符编码。 “外部”相对“内部”而言;不是char或String在内存里用的内部编码的地方都可以认为是“外部”。例如,外部可以是序列化之后的char或String,或者外部的文件、命令

趣闻进制转换

输入一个十进数,将其转换成 N (大于0小于16)进制数 public class text5 {/*** 输入一个十进数,将其转换成 N 进制数(0<N<=16)。*/public static void main(String[] args) {char arr[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B

【Rust日报】 2019-03-26

Sonic 这是一个牛逼的库,故而再发一次。很多人说过,Rust 在大数据领域其实是一个很有潜力的竞争者,但是在被 Java/C++ 垄断的领域,后来者 Rust 如何能在已经非常成熟的这个领地抢占吞噬一块自己的根据地。只能靠两点了: 高性能。同等数据量的情况下,速度提高一倍到数十倍;低内存占用。同等数据量的情况下,内存占用少数十倍。 而 Sonic 就是这样一个可以逐渐替换 Elasticse

【Rust日报】 2019-05-26:切片索引检查导致的3倍性能下降问题一例

漫游 Tox-rs,第一部分 长文预警。Tox 是一个分布式的P2P,加密传输,易于使用的基于DHT的网络。 Tox 原来是个C项目,作者用Rust通过审视发现,实现里面有不少漏洞,易被攻击。所以他用Rust重写了它。就是上面那个项目地址。现在作者,开始整理这几年的工作,开始生成文档。 Read More 切片索引检查导致的3倍性能下降问题一例 作者发现下面这两片代码: pub fn

【Rust日报】2020-10-26 Box 即将支持自定义的 allocators

Box 即将支持自定义的 allocators 下面的 pull request 合并之后, Box 将会支持自定义的 allocators. Box 的定义将会从 Box<T> 变成 Box<T, A = Global>. https://github.com/rust-lang/rust/pull/77187 Rust 的 Hyper 会让 Curl 变的更安全 curl 是使用 C 语言编

【Rust日报】2021-01-26 太素桌面系统:基于RISC-V架构的Rust系统内核

太素桌面系统:基于RISC-V架构的Rust系统内核(十二) 编写“太素”桌面操作系统的文章更新到第十二期。本期文章在前文成果的基础上,开始编写一个简单的桌面系统结构。这包括桌面、窗口和其中的控件,以及文字标签的显示方式。 太素OS是一个RISC-V架构、Rust编写的操作系统内核。作者在系列文章中介绍,“太素”的名字来源于道家五太之一,可以演化万物。这个项目实现了包含图形处理器在内的外部设备控

不到3毛钱的SOT23和SOT89封装18V耐压低功耗高PSRR高精度LDO稳压芯片ME6231电流0.5A电压3.3V和1.8V

前言 SOT23-5封装ME6231外观和丝印 一款国产LDO,某些场合,要把1117扔了吧,SOT23封装,虽然不是最小,但也是够小的了。 参考价格:约0.25元 概述 ME6231 系列是以 CMOS 工艺制造的 18V 耐压、低功耗、高 PSRR,高精度低压差线性稳压器。ME6231系列稳压器内置固定电压基准,温度保护,限流电路,相位补偿电路以及低内阻的 MOSFET,达到高

【第26章】Vue实战篇之用户信息修改

文章目录 前言一、界面搭建1. UserInfo.vue 二、更新用户信息1.绑定用户信息2.更新接口3.更新事件3.1 添加事件3.2 触发事件 总结 前言 这里来学习用户信息的修改。 一、界面搭建 1. UserInfo.vue <script setup>import { ref } from 'vue'const userInfo = ref({id: