zoukankan      html  css  js  c++  java
  • Codeforces Round #394 (Div. 2) C.Dasha and Password(暴力)

    http://codeforces.com/contest/761/problem/C

    题意:
    给出n个串,每个串的初始光标都位于0(列)处,怎样移动光标能够在凑出密码(每个串的光标位置表示一个密码的字符,密码至少包含3种字符:数字,小写字母,特殊符号)的情况下使得移动的光标步数最小。

    思路:

    因为每个串只提供一个密码,所以我们先预处理计算出每个字符串3种字符的最少移动步数。

    然后接下三重循环枚举,分别表示数字,小写字母,特殊符号由第i,j,k行提供。

     1 #include<iostream>
     2 #include<string>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<queue>
     6 #include<cstdio>
     7 using namespace std;
     8 
     9 const int inf=100;
    10 
    11 int n,m;
    12 char s[55][55];
    13 int w[55][3];
    14 
    15 int main()
    16 {
    17     //freopen("D:\input.txt", "r", stdin);
    18     while(~scanf("%d%d",&n,&m))
    19     {
    20         for(int i=0;i<n;i++)
    21             scanf("%s",&s[i]);
    22         for(int i=0;i<n;i++)
    23         {
    24             w[i][0]=w[i][1]=w[i][2]=inf;
    25             for(int j=0;j<m;j++)
    26             {
    27                 if(isdigit(s[i][j]))  w[i][0]=min(w[i][0],min(j,m-j));
    28                 else if(islower(s[i][j]))  w[i][1]=min(w[i][1],min(j,m-j));
    29                 else w[i][2]=min(w[i][2],min(j,m-j));
    30             }
    31         }
    32 
    33         int ans=3*inf;
    34         for(int i=0;i<n;i++)
    35         {
    36             for(int j=0;j<n;j++)
    37             {
    38                 for(int k=0;k<n;k++)
    39                 {
    40                     if(i==j||j==k||i==k)  continue;
    41                     ans=min(ans,w[i][0]+w[j][1]+w[k][2]);
    42                 }
    43             }
    44         }
    45         printf("%d
    ",ans);
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    解决GitHub下载速度太慢的问题
    java监测硬盘空间大小
    @SuppressWarnings注解用法详解
    No goals have been specified for this build.
    java新建excel文件导出(HSSFWorkbook)
    mysql日志文件路径
    获取select框下option所有值
    jquery获取select选中的值
    mysql查看查询缓存是否启用
    Kafka消息重新发送
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6880442.html
Copyright © 2011-2022 走看看