zoukankan      html  css  js  c++  java
  • POJ 3188暴搜

    题意:
    这里写图片描述
    这里写图片描述
    这里写图片描述

    思路:
    裸的暴搜 …….

    但是要注意如果你不用所有的按键就能输出最优解的话一定要把所有的字母都安排到一个位置….
    我的一群PE就是这么来的……

    为什么写的人这么少……
    这里写图片描述

    // by SiriusRen
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    int b,l,d,mod=10000007,vis[10000007],rec[66],tot=0,change[66],answer=0,num[10000007],ANS[66];
    char s[1005][20];
    void dfs(int x,int used)
    {
        if(used==b)
        {
            int ans=0;
            tot++;
            for(int i=1;i<=b;i++)
                for(int j=rec[i-1]+1;j<=rec[i];j++)
                    change[j]=i;
            for(int j=1;j<=d;j++)
            {
                int jy=0;
                for(int k=1;k<=s[j][0];k++)
                {
                    jy=(jy*l+change[s[j][k]])%mod;
                }
                if(vis[jy]!=tot)
                {
                    vis[jy]=tot;
                    ans++;
                }
                else
                {
                    if(num[jy]!=tot)
                    {
                        num[jy]=tot;
                        ans--;
                    }
                }
            }
            if(answer<=ans&&change[l]==b)
            {
                answer=ans;
                for(int i=1;i<=l;i++)
                {
                    ANS[i]=change[i];
                }
            }
            return;
        }
        for(int i=x+1;i<=l;i++)
        {
            rec[used]=i;
            dfs(i,used+1);
        }
    }
    int main()
    {
        scanf("%d%d%d",&b,&l,&d);
        rec[b]=l;
        for(int i=1;i<=d;i++){
            scanf("%s",s[i]+1);
            s[i][0]=strlen(s[i]+1);
            for(int j=1;j<=s[i][0];j++)
                s[i][j]=s[i][j]-'A'+1;
        }
        dfs(0,1);
        printf("%d
    ",answer);
        for(int i=1;i<=l;i++)
        {
            printf("%c",i+'A'-1);
            if(ANS[i]!=ANS[i+1])puts("");
        }
    }
    

    这里写图片描述

  • 相关阅读:
    何为 ISAPI
    MacDown-The open source Markdown editor for OS X.
    Atom使用
    运维
    Perl
    Kaggle
    J2EE
    leetcode
    Tensorflow 学习笔记
    EXCEL公式及宏
  • 原文地址:https://www.cnblogs.com/SiriusRen/p/6532329.html
Copyright © 2011-2022 走看看