题意:有两个图,每一列都存在的字母选作密码,就第k大的密码

思路:
找出各个位置上的密码,

假设:

第1个字母只能是{A,C,D,W},

第2个字母只能是{B,O,P},

第3个字母只能是{G,M,O,X},

第4个字母只能是{A,P},

第5个字母只能是{G,S,U}。
不管第1个字母是多少,后4个字母都有3*4*2*3=72种可能,因此当k≤72时,第1个字母
是A,当72<k≤144时第1个字母是C,如此等等。再用同样的方法确定第2,3,4,5个字母即
可。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <map>
#include <vector>
using namespace std;
typedef long long ll;
typedef unsigned long long ull; char tmap[2][20][10];
vector<char>mp[10];
int vis[2][20][30];//第i个图,第j列的x字母 int num[10];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int k;
scanf("%d",&k);
memset(vis,0,sizeof(vis));
for(int j = 0; j < 2; j++)
for(int i = 0; i < 6; i ++)
scanf("%s",tmap[j][i]);
for(int i=0; i<5; ++i)
for(int j=0; j<6; ++j)
{
vis[0][i][tmap[0][j][i]-'A']=true;
vis[1][i][tmap[1][j][i]-'A']=true;
}
for(int i = 0;i < 5;i++)
mp[i].clear();
for(int i = 0;i < 5;i++)
{
for(int j = 0;j <= 26;j++)
{
if( vis[0][i][j] && vis[1][i][j])
mp[i].push_back(j + 'A');
}
}
num[5] = 1;
for(int i = 4; i >= 0; i--)
{
num[i] = num[i+1] * (int)mp[i].size();
}
if(k > num[0])
printf("NO\n");
else
{
k--;
for(int i = 0; i < 5; i++)
{
putchar(mp[i][k/num[i+1]]);
k %= num[i+1];
}
printf("\n");
}
}
return 0;
}

  

10-8 uva1262密码的更多相关文章

  1. Windows 10忘记登录密码不用怕,系统U盘/光盘轻松重置

    我们有时会遇到忘记Windows10登录密码,或者电脑被其他账户登录后不知道密码无法开机的情况.遇到这些问题后,我们可能会借助一些第三方工具来移除现有密码.然而这些工具本身的安全性还有待检验,肯定不如 ...

  2. Weblogic 9.2和10.3 改密码 一站完成

    Weblogic 9.2和10.3可通用,只需修改参照如下配置即可: SET BEA_HOME=F:\beaSET JRE_HOME=%BEA_HOME%\jdk150_04\binSET LIB_H ...

  3. 将十进制数转为一个n位数的密码(每位都是个m进制数)

    例如一个6位数的10进制密码,共有106个密码,如果把每个6位数的密码编成号就是[0,106-1].这是十进制的情况,即6个位,每个位有10种选择.如果要遍历所有密码,需要6重for循环,每个循环10 ...

  4. 【密码】Oracle用户密码系列

    [密码]Oracle用户密码系列 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...

  5. 个人信息管理PIM——密码管理工具软件

    密码管理工具 以KeePass为主,结合LastPass在线浏览器网页密码.有钱银可以考虑1Password. KeePass LastPass 1Password 价格费用 免费开源 普通版:免费 ...

  6. 理解php Hash函数,增强密码安全

    1.声明 密码学是一个复杂的话题,我也不是这方面的专家.许多高校和研究机构在这方面都有长期的研究.在这篇文章里,我希望尽量使用简单易懂的方式向你展示一种安全存储Web程序密码的方法. 2.“Hash” ...

  7. Ubuntu密码忘记了怎么办(转载)

    版本:Ubuntu 11.10 思路是进入root中,然后使用passwd修改自己的密码. 假设用户名:quietheart 经过网上查询,如果安装系统之后没有设root密码,那么,Ubuntu 11 ...

  8. 第10章 使用密码保护API - Identity Server 4 中文文档(v1.0.0)

    OAuth 2.0资源所有者密码授权允许客户端向令牌服务发送用户名和密码,并获取代表该用户的访问令牌. 除了无法承载浏览器的旧应用程序之外,规范通常建议不要使用资源所有者密码授予.一般来说,当您要对用 ...

  9. Mysql权限操作、用户管理、密码操作

    Mysql的权限 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表. mysql权限表的验证过程为: 先从user表中的Host,Use ...

随机推荐

  1. JAVA_SE基础——22.面向对象的概念

    我写博客是为了提升自己和为了进入黑马程序员学习,还有分享些自己的心得给大家,希望能帮助大家学习JAVA. 我是自学的,如果写的有错误或者能更好的修改的请提出. 在这里我先引用下<think in ...

  2. Java面试题(二)

    系统整理了一下有关Java的面试题,包括基础篇,javaweb篇,框架篇,数据库篇,多线程篇,并发篇,算法篇等等,陆续更新中.其他方面如前端后端等等的面试题也在整理中,都会有的. 注:文末有福利! 1 ...

  3. Python之旅.第三章.函数3.28

    一.命名关键字参数: 什么是命名关键字参数?格式:在*后面参数都是命名关键字参数特点:1 必须被传值1 约束函数的调用者必须按照key=value的形式传值2 约束函数的调用者必须用我们指定的key名 ...

  4. salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值

    注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...

  5. NATAPP 内网映射,Visual Studio ,C# 实现本地开发微信公众号,本地调试无需服务器

    点击软件安装教程,根据安装教程,注册帐号,下载软件,配置软件.配置完后如下图,途中红色位置免费版本是随机的. 红色位置是自己的映射域名. 打开VS,并且打开项目,右键项目,在web 选项中修改项目UR ...

  6. python3+beautifulSoup4.6抓取某网站小说(四)多线程抓取

    上一篇多文章,是二级目录,根目录"小说",二级目录"作品名称",之后就是小说文件. 本篇改造了部分代码,将目录设置为根目录->作者目录->作品目录- ...

  7. jquery中attr与prop的区别

    先从一个老生常谈的问题说起,使用jquery实现全选全不选.楼主先使用的jquery版本是 jquery-1.11.1.min.js 全选<input type="checkbox&q ...

  8. Django小范围傻瓜总结

    1.母版: layout.html {% block x %}{% endblock %} 2.子版: {% extends 'layout' %} {% block x %}.......{% en ...

  9. github生成SSH公钥

    ssh-keygen -t rsa -C "your_email@youremail.com" 然后输入github上的密码 Enter passphrase (empty for ...

  10. 关于tr069网管开发系列教程

    原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...