UOJ 74 [UR #6]破解密码
来源:互联网 发布:妖姬葵 知乎 编辑:程序博客网 时间:2024/05/20 13:09
逆元
就说这种题怎么考场上没有人AC,原来有坑点- -
考虑
有
即
即
因为有解,且模数
然而坑点来了,可能出现
回到①式,发现满足
又因为保证有解,可知如果满足了
#include<cstdio>#define N 100005using namespace std;namespace runzhe2000{ typedef long long ll; int n, p, y[N]; int fpow(int a, int b) { int r = 1; a = (a%p+p)%p; for(; b; b>>=1) { if(b&1)r=(ll)r*a%p; a=(ll)a*a%p; } return r; } void main() { scanf("%d%d",&n,&p); for(int i = 1; i <= n; i++) scanf("%d",&y[i]); if(fpow(26,n) == 1) { int tmp = y[1]; for(int i = n; i; i--) { int c = tmp % 26; y[i] = c; tmp /= 26; } for(int i = 1; i <= n; i++) printf("%c",y[i]+'a'); } else { int inv = fpow(fpow(26,n)-1, p - 2); y[n+1] = y[1]; for(int i = 1; i <= n; i++) { int a = (ll) (y[i] * 26ll - y[i+1]) % p * inv % p; if(a < 0) a += p; printf("%c",a+'a'); } } }}int main(){ runzhe2000::main();}
0 0
- UOJ 74 [UR #6]破解密码
- [UOJ#74][UR #6]破解密码(数学相关)
- UOJ #74. 【UR #6】破解密码
- [UOJ 74][UOJ Round #6]破解密码(乘法逆元)
- UOJ 75 [UR #6]智商锁
- uoj #152. 【UR #10】汉诺塔
- UOJ 22 [UR #1]外星人
- [构造 随机 生成树计数] UOJ #75 【UR #6】智商锁
- UOJ#192. 【UR #14】最强跳蚤
- UOJ #31. 【UR #2】猪猪侠再战括号序列
- UOJ #60. 【UR #5】怎样提高智商
- UOJ #82. 【UR #7】水题生成器
- UOJ #118. 【UR #8】赴京赶考
- UOJ 225 [UR #15]奥林匹克五子棋
- UOJ 133 [UR #9]电路手动分析
- UOJ #242. 【UR #16】破坏蛋糕
- UOJ 21 [UR #1]缩进优化
- UOJ 31 [UR #2]猪猪侠再战括号序列
- javascript官网对event loop的解释
- linux下查看文件内容工具发布啦!
- JavaScript——BOM应用
- 数据结构读书笔记
- matlab实现ICP(3D迭代最近点算法)
- UOJ 74 [UR #6]破解密码
- 数据库系统概论学习笔记(一):基本概念
- HDU - 2066 - 一个人的旅行
- c# 分页打印多行文本
- UVA 1515 Pool construction(最小割)
- 洛谷 1303——A*B Problem
- 一级路由器静态路由访问二级路由器的方法二
- 【PAT】1091. Acute Stroke
- Linux玩家的福音