A 转换AV号(avtobv)

Description

最近某视频网站将使用已久的 av 视频编号升级成了新的 bv 号,新的编号扩充了编号的字符集,增加了编号的数量。

你是网站的忠实用户,这次升级迫使你将收藏的视频 av 号重新换算成 bv 号以便观看。由于原始算法比较复杂,我们将算法简化如下:

av 号以av开头,之后跟随一串数字,例如av84735341;而 bv 号以BV开头,之后跟随一串数字和字母,例如BV1i7411a794

首先,需要将 av 号中的正整数nn异或上一个较大的正整数XX,再对其进行编码,得到编码后的串SS,最后在SS开头添加BV前缀即可。

这里所使用的编码是指把一个整数转换成一个 62 进制数,并用编码表中指定的每一位代表的符号作为该位的字符,构成编码后的串。

你的收藏中有nn个 av 号,每个 av 号都符合上面的格式。现在你已经获得了异或的正整数XX和编码的编码表(每次使用的XX和编码表可能不同),请你将 av 号转换为 bv 号并输出。

你可以参考样例解释来帮助理解上面的流程。

注:题目纯属虚构,上述算法不一定与真实情况中的编码算法相同。

Input

第一行包含两个正整数 n \ (1 \leq n \leq 10^4)n (1≤n≤104) 和 X \ (1 \leq X \leq 10^{18})X (1≤X≤1018),代表 av 号的数量和异或的值。

第二行包含一个长为 62 的字符串 TT,T_iTi​ 表示编码时某一位的十进制数值为 ii 时对应的编码字符。TT 仅包含英文字母及数字。

接下来 nn 行每行包含一个字符串,分别为要转换的 av 号串,长度不超过 11。

Output

输出 nn 行,每行为转换后得到的 bv 号。

Sample Input 1

5 10
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
av1
av2
av314
av17001
av84735341

Sample Output 1

BVb
BV8
BV4U
BV4q7
BV5JxwX

Hint

av17001为例,首先将 17001 与 10 异或,得到 16995,然后将 16995 转换成 62 进制,即 4 26 7,根据编码表可以查到 4 对应 4、26 对应 q、7 对应 7,因此 bv 号为BV4q7

Reference Answer

def main():N, xor= input().split(' ')N = int(N)xor = int(xor)dic = input()for i in range(N):av = input()if av[0:2] == 'av':av = av[2:]temp = int(av) ^ xorbv = []while temp > len(dic):bv.append(int(temp % len(dic)))temp -= temp % len(dic)temp /= len(dic)bv.append(int(temp))BV = 'BV'for i in range(len(bv)):BV += (dic[bv[len(bv) - i - 1]])print(BV)if __name__ == "__main__":main()

ipc4 - A 转换AV号(avtobv)相关推荐

  1. A题 转换AV号(avtobv)

    A题  转换AV号(avtobv) Description 最近某视频网站将使用已久的 av 视频编号升级成了新的 bv 号,新的编号扩充了编号的字符集,增加了编号的数量. 你是网站的忠实用户,这次升 ...

  2. 赛氪2020上半年 A.转换AV号(avtobv)[神奇的输入][神奇的getchar()][进制转换]

    Description 最近某视频网站将使用已久的 av 视频编号升级成了新的 bv 号,新的编号扩充了编号的字符集,增加了编号的数量. 你是网站的忠实用户,这次升级迫使你将收藏的视频 av 号重新换 ...

  3. python进行B站av号和bv号的转换

    为了保护稿件信息安全,容纳更多投稿,维护UP主的权益,自2020年3月23日起,AV号将全面升级为BV号.与纯数字的AV号不同,BV号是一段由数字和大小写字母组成的字符串,经过算法自动生成.未来将统一 ...

  4. 【Python】B站 av 号和 BV 号的转换

    现在哔哩哔哩新推出了 BV 号用来取代以前的 av 号,所有视频都替换为 BV 号了,不过以前的 av 号还能使用.对于老视频还是用 av 号比较方便,所以写点代码实现这两个的转换. 效果如图: 使用 ...

  5. 哔哩哔哩弹幕爬取以及BV与AV号之间的转换

    作为b站老粉丝,我有义务向新人科普bilibili的发展与纪年史,本人持中立态度,仅做记录工作. B站的API端口都是开放的,用一个很简单的调用命令就可以计算出BV号对应的AV号. B站的源码已经在G ...

  6. 快速批量将B站 BV 号更改为 AV 号 - BTA

    BTA 按照B站视频提供的办法编写了一个小程序! 可实现功能:批量.快速将BiliBili视频 BV号转换成 AV 号 提醒: 本程序只希望被用于C++编程的学习交流,如果有任何人非法使用本程序做任何 ...

  7. B站一键BV号转AV号PHP单页源码

    简介: 调用接口实现,快速还原BV为AV号,现在替换BILIBILI视频网页链接中的BV号为AV号依旧可以访问. 网盘下载地址: http://kekewangLuo.cc/zEM02496zTy0 ...

  8. 在B站更新BV标识后,如何查看视频原AV号?

    一.前言 近日,Bilibili进行了视频id号的升级,由原AV+数字升级成为了由算法自动生成的BV+字母/数字. 如图: BV号也将成为稿件唯一标识.但是原转发的AV号可以正常使用,这意味着后台算法 ...

  9. 哔哩哔哩查看视频av号

    在console下输入aid 即可 输入aid不行了,接口中的pid也可满足需求,但不确定pid是否和av号一样

最新文章

  1. HDU 2149 Public Sale
  2. apache的动态编译和静态编译
  3. Cisco ASA防火墙常用命令
  4. 公司项目拓扑的演变过程
  5. pandas用均值填充nan_python – 如何用pandas中的滚动平均值填充nan值
  6. UVa 10570 - Meeting with Aliens
  7. CSS实现兼容性的渐变背景(gradient)效果(转)
  8. java求最小步数_关于java:查找两点之间的最小步数?
  9. 这些超好用的 Mac 系统自带软件,来试试
  10. Java设计模式笔记--------工厂模式------抽象工厂模式
  11. lncrnadisease:lncRNA相关疾病数据库
  12. CH341SER USB转串口64位驱动
  13. 计算机系技能比赛黑板报,技能成就梦想黑板报图文
  14. 国外android内存清理工具,给大家推荐一个安卓清理神器哈,确实好用
  15. 阿里云 linux nginx 环境配置 该网页无法正常运作
  16. 前端基础——css进阶(三)
  17. 第5章 调优案例分析与实战
  18. 雅虎邮箱停用对网民的影响
  19. Airtest 在设备安装app
  20. 小区物业管理系统-总结-数据库设计

热门文章

  1. cadence导入dxf文件_Allegro PCB导入DXF文件详解
  2. python 合并word内容_python如何合并两个文档内容
  3. python打包程序在win10不能运行、点击无反应_win10双击安装包没反应,win10运行exe无反应...
  4. [DeeplearningAI笔记]序列模型3.3-3.5集束搜索
  5. php开发自己的composer包
  6. 企业微信加密消息体_微信企业号开发之加密方案与全局返回码说明
  7. 你可能不信:我爸在家里泡姜的图,能气死五个博士生...
  8. 北邮智能车仿真培训(一)—— 安装仿真环境
  9. 数据分析实际案例之:pandas在泰坦尼特号乘客数据中的使用
  10. 【USB笔记】USB 2.0 帧开始包Start-of-Frame Packets