ipc4 - A 转换AV号(avtobv)
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)相关推荐
- A题 转换AV号(avtobv)
A题 转换AV号(avtobv) Description 最近某视频网站将使用已久的 av 视频编号升级成了新的 bv 号,新的编号扩充了编号的字符集,增加了编号的数量. 你是网站的忠实用户,这次升 ...
- 赛氪2020上半年 A.转换AV号(avtobv)[神奇的输入][神奇的getchar()][进制转换]
Description 最近某视频网站将使用已久的 av 视频编号升级成了新的 bv 号,新的编号扩充了编号的字符集,增加了编号的数量. 你是网站的忠实用户,这次升级迫使你将收藏的视频 av 号重新换 ...
- python进行B站av号和bv号的转换
为了保护稿件信息安全,容纳更多投稿,维护UP主的权益,自2020年3月23日起,AV号将全面升级为BV号.与纯数字的AV号不同,BV号是一段由数字和大小写字母组成的字符串,经过算法自动生成.未来将统一 ...
- 【Python】B站 av 号和 BV 号的转换
现在哔哩哔哩新推出了 BV 号用来取代以前的 av 号,所有视频都替换为 BV 号了,不过以前的 av 号还能使用.对于老视频还是用 av 号比较方便,所以写点代码实现这两个的转换. 效果如图: 使用 ...
- 哔哩哔哩弹幕爬取以及BV与AV号之间的转换
作为b站老粉丝,我有义务向新人科普bilibili的发展与纪年史,本人持中立态度,仅做记录工作. B站的API端口都是开放的,用一个很简单的调用命令就可以计算出BV号对应的AV号. B站的源码已经在G ...
- 快速批量将B站 BV 号更改为 AV 号 - BTA
BTA 按照B站视频提供的办法编写了一个小程序! 可实现功能:批量.快速将BiliBili视频 BV号转换成 AV 号 提醒: 本程序只希望被用于C++编程的学习交流,如果有任何人非法使用本程序做任何 ...
- B站一键BV号转AV号PHP单页源码
简介: 调用接口实现,快速还原BV为AV号,现在替换BILIBILI视频网页链接中的BV号为AV号依旧可以访问. 网盘下载地址: http://kekewangLuo.cc/zEM02496zTy0 ...
- 在B站更新BV标识后,如何查看视频原AV号?
一.前言 近日,Bilibili进行了视频id号的升级,由原AV+数字升级成为了由算法自动生成的BV+字母/数字. 如图: BV号也将成为稿件唯一标识.但是原转发的AV号可以正常使用,这意味着后台算法 ...
- 哔哩哔哩查看视频av号
在console下输入aid 即可 输入aid不行了,接口中的pid也可满足需求,但不确定pid是否和av号一样
最新文章
- HDU 2149 Public Sale
- apache的动态编译和静态编译
- Cisco ASA防火墙常用命令
- 公司项目拓扑的演变过程
- pandas用均值填充nan_python – 如何用pandas中的滚动平均值填充nan值
- UVa 10570 - Meeting with Aliens
- CSS实现兼容性的渐变背景(gradient)效果(转)
- java求最小步数_关于java:查找两点之间的最小步数?
- 这些超好用的 Mac 系统自带软件,来试试
- Java设计模式笔记--------工厂模式------抽象工厂模式
- lncrnadisease:lncRNA相关疾病数据库
- CH341SER USB转串口64位驱动
- 计算机系技能比赛黑板报,技能成就梦想黑板报图文
- 国外android内存清理工具,给大家推荐一个安卓清理神器哈,确实好用
- 阿里云 linux nginx 环境配置 该网页无法正常运作
- 前端基础——css进阶(三)
- 第5章 调优案例分析与实战
- 雅虎邮箱停用对网民的影响
- Airtest 在设备安装app
- 小区物业管理系统-总结-数据库设计
热门文章
- cadence导入dxf文件_Allegro PCB导入DXF文件详解
- python 合并word内容_python如何合并两个文档内容
- python打包程序在win10不能运行、点击无反应_win10双击安装包没反应,win10运行exe无反应...
- [DeeplearningAI笔记]序列模型3.3-3.5集束搜索
- php开发自己的composer包
- 企业微信加密消息体_微信企业号开发之加密方案与全局返回码说明
- 你可能不信:我爸在家里泡姜的图,能气死五个博士生...
- 北邮智能车仿真培训(一)—— 安装仿真环境
- 数据分析实际案例之:pandas在泰坦尼特号乘客数据中的使用
- 【USB笔记】USB 2.0 帧开始包Start-of-Frame Packets