zoukankan      html  css  js  c++  java
  • 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[3][7][6];
    int sum[6][6],ans[6],suc[7];
    set<char>se[7];
    int main()
    {
        int T,n;
        scanf("%d",&T);
        while(T--)
        {
            bool ok=true;
            scanf("%d",&n);
            n--;
            for(int i=1;i<=6;i++) scanf("%s",s[1][i]+1);
            for(int i=1;i<=6;i++) 
            scanf("%s",s[2][i]+1);
            for(int i=1;i<=5;i++)
            {
                sum[i][0]=0; se[i].clear();
                for(int j=1;j<=6;j++)
                 {
                     for(int k=1;k<=6;k++)
                      if(s[1][j][i]==s[2][k][i])
                      {
                        if(se[i].find(s[1][j][i])==se[i].end()) sum[i][++sum[i][0]]=s[1][j][i]-'A',se[i].insert(s[1][j][i]);
                          break;
                     }
                 }
            }
            suc[6]=1;
            for(int i=5;i;i--) suc[i]=suc[i+1]*sum[i][0];
            if(suc[1]<=n) { printf("NO
    "); ok=false; continue; }
            for(int i=1;i<=5;i++)
            {
                sort(sum[i]+1,sum[i]+sum[i][0]+1);
                ans[i]=n/suc[i+1];
                n%=suc[i+1];
            }
            if(ok) for(int i=1;i<=5;i++) putchar(sum[i][ans[i]+1]+'A');
            if(T) printf("
    "); 
        }
    }
  • 相关阅读:
    python3.5+flask+mysql
    Python魔法师
    Redis
    Socket
    Python线程
    Python全栈之路--Django ORM详解
    基本算法
    Python_Select解析
    如何做好一名DBA【转】
    解决MySQL忘记root密码
  • 原文地址:https://www.cnblogs.com/TheRoadToTheGold/p/7392032.html
Copyright © 2011-2022 走看看