UVA - 1262

题意:

有两个6*5 的大写字母组成的矩阵,需要找出满足条件的字典序第k小的密码:密码中每个字母在两个矩阵的对应的同一列中都出现过

代码:

// 先处理出来每一列可以取的字母,例如:{A,B,C,D},{W,F,T},{R,T},{E,P,K},{V,M} 那么k最大不超过
// 4*3*2*3*2=144,当k<=3*2*3*2=36 时第一个字母一定是‘A’,当 36<k<=72 时第一个字母一定是‘B’,如此来
// 确定每一位字母。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int t,k,nu[],sum[][];
bool a[][],s[][];
int main()
{
scanf("%d",&t);
while(t--){
scanf("%d",&k);
memset(a,,sizeof(a));
memset(s,,sizeof(s));
memset(nu,,sizeof(nu));
char str[];
int ans[];
for(int i=;i<=;i++){
scanf("%s",str);
for(int j=;j<;j++)
a[j+][str[j]-'A']=;
}
for(int i=;i<=;i++){
scanf("%s",str);
for(int j=;j<;j++){
if(a[j+][str[j]-'A'])
s[j+][str[j]-'A']=;
}
}
for(int i=;i<=;i++){
int p=;
for(int j=;j<;j++){
if(s[i][j]) sum[i][++p]=j;
}
nu[i]=p;
}
int x=nu[];
for(int i=;i<=;i++) x*=nu[i];
if(k>x) printf("NO\n");
else{
int l=;
while(l<=){
x/=nu[l];
for(int i=;i<=nu[l];i++){
int y=i*x;
if(k<=y){
k-=(y-x);
ans[l]=i;
break;
}
}
l++;
}
for(int i=;i<=;i++)
printf("%c",'A'+sum[i][ans[i]]);
printf("\n");
}
}
return ;
}

UVA - 1262 数学的更多相关文章

  1. 【暑假】[数学]UVa 1262 Password

    UVa 1262  Password 题目: Password   Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld ...

  2. UVA 1262 Password 暴力枚举

    Password Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA. Original ID:  ...

  3. UVA - 11181 数学

    UVA - 11181 题意: n个人去买东西,其中第i个人买东西的概率是p[i],最后只有r个人买了东西,求每个人实际买了东西的概率 代码: //在r个人买东西的概率下每个人买了东西的概率,这是条件 ...

  4. UVa 1262 - Password(解码)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  5. uva 11762 数学期望+记忆化搜索

    题目大意:给一个正整数N,每次可以在不超过N的素数中随机选择一个P,如果P是N的约数,则把N变成N/p,否则N不变,问平均情况下需要多少次随机选择,才能把N变成1? 分析:根据数学期望的线性和全期望公 ...

  6. UVa 10943 (数学 递推) How do you add?

    将K个不超过N的非负整数加起来,使它们的和为N,一共有多少种方法. 设d(i, j)表示j个不超过i的非负整数之和为i的方法数. d(i, j) = sum{ d(k, j-1) | 0 ≤ k ≤ ...

  7. UVa 1262 (第k字典序) Password

    题意: 给出两个6行5列的字母矩阵,一个密码满足:密码的第i个字母在两个字母矩阵的第i列均出现. 然后找出字典序为k的密码,如果不存在输出NO 分析: 我们先统计分别在每一列均在两个矩阵出现的字母,然 ...

  8. uva 568(数学)

    题解:从1開始乘到n,由于结果仅仅要最后一位.所以每乘完一次,仅仅要保留后5位(少了值会不准确,刚開始仅仅保留了一位.结果到15就错了,保留多了int会溢出,比方3125就会出错) 和下一个数相乘,接 ...

  9. UVA 1262 Password

    https://vjudge.net/problem/UVA-1262 字典序第k小 注意两点: 1. k-- 2.去重 #include<cstring> #include<cst ...

随机推荐

  1. hdu - 6276,2018CCPC湖南全国邀请赛A题,水题,二分

    题意: 求H的最大值,  H是指存在H篇论文,这H篇被引用的次数都大于等于H次. 思路:题意得,  最多只有N遍论文,所以H的最大值为N, 常识得知H的最小值为0. 所以H的答案在[0,N]之间,二分 ...

  2. Paper Reading - Show and Tell: A Neural Image Caption Generator ( CVPR 2015 )

    Link of the Paper: https://arxiv.org/abs/1411.4555 Main Points: A generative model ( NIC, GoogLeNet ...

  3. 网易客户端授权密码,errormsg='authentication failed (method LOGIN)' exitcode=EX_NOPERM

    zabbix群里一网友在安装msmtp+mutt测试发送邮件失败 配置文件如下: /usr/local/msmtp/etc/msmtprc account default host smtp..com ...

  4. scrum立会报告+燃尽图(第三周第六次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 项目地址:https://coding.net/u/wuyy694 ...

  5. 2018软工实践—Alpha冲刺(6)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试服务器并行能力 学习MSI.CUDA ...

  6. 福大软工1816 ·软工之404NoteFound团队选题报告

    目录 NABCD分析引用 N(Need,需求): A(Approach,做法): B(Benefit,好处): C(Competitors,竞争): D(Delivery,交付): 初期 中期 个人贡 ...

  7. HttpCookie Class

    提供创建和操作各 HTTP Cookie 的类型安全方法. #region 写入指定Cookie的值 +static void WriteCookie(string cookieName, strin ...

  8. 用javascript代码拼html

    公司新来的同事说,他们是用javascript代码拼html代码的,如果要修改值,就是修改对象的属性. 交代下,我们现在都是用拼字符串的方式拼html代码的.他提到如果写在单独的javascript文 ...

  9. url传带有汉字的参数乱码解决

    url传带有汉字的参数乱码解决 var reg = new RegExp("(^|&)createName=([^&]*)(&|$)"); var r = ...

  10. [LeetCode] Search in Rotated Array

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...