UVA 1262 Password
https://vjudge.net/problem/UVA-1262
字典序第k小
注意两点:
1、 k--
2、去重
#include<cstring>
#include<cstdio>
#include<set>
#include<algorithm>
using namespace std;
char s[][][];
int sum[][],ans[],suc[];
set<char>se[];
int main()
{
int T,n;
scanf("%d",&T);
while(T--)
{
bool ok=true;
scanf("%d",&n);
n--;
for(int i=;i<=;i++) scanf("%s",s[][i]+);
for(int i=;i<=;i++)
scanf("%s",s[][i]+);
for(int i=;i<=;i++)
{
sum[i][]=; se[i].clear();
for(int j=;j<=;j++)
{
for(int k=;k<=;k++)
if(s[][j][i]==s[][k][i])
{
if(se[i].find(s[][j][i])==se[i].end()) sum[i][++sum[i][]]=s[][j][i]-'A',se[i].insert(s[][j][i]);
break;
}
}
}
suc[]=;
for(int i=;i;i--) suc[i]=suc[i+]*sum[i][];
if(suc[]<=n) { printf("NO\n"); ok=false; continue; }
for(int i=;i<=;i++)
{
sort(sum[i]+,sum[i]+sum[i][]+);
ans[i]=n/suc[i+];
n%=suc[i+];
}
if(ok) for(int i=;i<=;i++) putchar(sum[i][ans[i]+]+'A');
if(T) printf("\n");
}
}
UVA 1262 Password的更多相关文章
- 【暑假】[数学]UVa 1262 Password
UVa 1262 Password 题目: Password Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld ...
- UVA 1262 Password 暴力枚举
Password Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA. Original ID: ...
- UVa 1262 - Password(解码)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- UVA - 1262 Password(密码)(暴力枚举)
题意:给两个6行5列的字母矩阵,找出满足如下条件的“密码”:密码中的每个字母在两个矩阵的对应列中均出现.给定k(1<=k<=7777),你的任务是找出字典序第k小的密码.如果不存在,输出N ...
- UVA - 1262 数学
UVA - 1262 题意: 有两个6*5 的大写字母组成的矩阵,需要找出满足条件的字典序第k小的密码:密码中每个字母在两个矩阵的对应的同一列中都出现过 代码: // 先处理出来每一列可以取的字母,例 ...
- UVa 1262 (第k字典序) Password
题意: 给出两个6行5列的字母矩阵,一个密码满足:密码的第i个字母在两个字母矩阵的第i列均出现. 然后找出字典序为k的密码,如果不存在输出NO 分析: 我们先统计分别在每一列均在两个矩阵出现的字母,然 ...
- UVa 902 - Password Search
题目:给你一个小写字母组成大的串和一个整数n.找到里面长度为n出现最频繁的子串. 分析:字符串.hash表.字典树. 这里使用hash函数求解,仅仅做一次扫描就可以. 说明:假设频率同样输出字典序最小 ...
- 紫书 例题 10-8 UVa 1262 (暴力枚举)
递归一遍遍历所有情况就ok了 #include<cstdio> #include<cstring> #define REP(i, a, b) for(int i = (a); ...
- 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?
p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...
随机推荐
- 实用的ES6特性
1. 函数参数默认值 不使用ES6 为函数的参数设置默认值: function foo(height, color) { var height = height || 50; var color = ...
- c#程序的config文件问题
1.vshost.exe.config和app.config两个文件可不要,但exe.config文件不可少. 2.但是app.config最好也要修改了,每次重新生成程序的时候.exe.cmonfi ...
- python Django框架接入微信公众平台
1.在接入微信公众平台之前,需要在微信公众平台配置好基本信息,如下: 这个时候点击“提交”按钮,会提示“Token校验失败”,不要着急,这是必然会出现的现象,先不要退出页面,保留各项输入的数据,按第二 ...
- 安装多个版本JDK相关问题
一.前言 因敝人计算器上面安装了多个版本的JDK,其中包括JDK1.6.JDK1.7.JDK1.8,想通过变换环境变量(JAVA_HOME)的形式切换不同的JDK,但是我在安装了JDK1.7并且配置了 ...
- bzoj1968 约数研究
题意 令\(f(i)\)表示\(i\)的约数个数,求\(\Sigma^n_{i=1}f(i)\). 做法 我们直接算每个数的贡献,问题可以转化成每个数在\(1\)到\(n\)中有多少个倍数,累加答案. ...
- winform全局异常捕获
/// <summary> /// 应用程序的主入口点. /// </summary> public static ApplicationContext context; [S ...
- WPF 进度条ProgressBar
今天研究了一下wpf的进度条ProgressBar 1.传统ProgressBar WPF进度条ProgressBar 这个控件,如果直接写到循环里,会死掉,界面会卡死,不会有进度.需要把进度条放到单 ...
- 在git 服务器挂载、创建新的项目、克隆新的项目
流程,服务器创建项目名-->客户端克隆-->客户端提交并且推送-->完成 详细步骤 1.在git服务器路径文件夹下创建空文件夹,名字为新的项目名,如在 F:\git ...
- 2018牛客多校第四场 J.Hash Function
题意: 给出一个已知的哈希表.求字典序最小的插入序列,哈希表不合法则输出-1. 题解: 对于哈希表的每一个不为-1的数,假如他的位置是t,令s = a[t]%n.则这个数可以被插入当且仅当第s ~ t ...
- POJ2828:Buy Tickets——题解
http://poj.org/problem?id=2828 首先发现如果我们按照他的方法模拟的话,势必时间爆炸. 所以我们从后往前推,因为我们知道最后一个的位置一定是对的,而前面的位置可以从后面推知 ...