zoukankan      html  css  js  c++  java
  • UVA 489 Hangman Judge (字符匹配)

    题意:给一个字符串A,只含小写字符数个。再给一个字符串B,含小写字符数个。规则如下:

    1、字符串B从左至右逐个字符遍历,对于每个字符,如果该字符在A中存在,将A中所有该字符删掉,若不存在,则错误次数+1。

    2、当错误次数达到7时,游戏结束,输了lose。

    3、当串A中已经没有字符了,游戏结束,赢了win。(串B后面还没遍历到的也不用遍历了)

    4、当错误次数没到达7,但是字符串A还有剩下的字符没消去,则chickened out。

    错满7个就输,在满7个之前匹配完了就赢,在满7个之前没匹配完就chickened out。

    思路:将串A统计26个字符是否出现(用hash),遍历串B,每次匹配成功就删掉26个字母中对应那个,匹配失败就统计是否到达7次。

     1 #include <bits/stdc++.h>
     2 #define LL long long
     3 using namespace std;
     4 const int N=129;
     5 int has1[N], num[N];
     6 string s1, s2;
     7 
     8 int cal()   //匹配是-1,大于0小于7是悬着,大于7是挂了
     9 {
    10     int cnt1=0, cnt3=0;
    11     for(int i=0; i<s1.size(); i++)  has1[s1[i]]++;
    12     for(int i='a'; i<='z'; i++)     if(has1[i]>0) cnt1++;  //需要多少个才匹配
    13 
    14     for(int i=0; i<s2.size(); i++)
    15     {
    16         if(has1[s2[i]]) //匹配的
    17         {
    18             has1[s2[i]]=0;
    19             cnt1--;     //又匹配了一个
    20             if(!cnt1) return -1;    //匹配完了
    21         }
    22         else    cnt3++; //错误的
    23         if(cnt3>=7)     return 10;       //错了7个
    24     }
    25     return cnt3;
    26 }
    27 
    28 
    29 int main()
    30 {
    31     freopen("e://input.txt","r",stdin);
    32     int n;
    33     while(scanf("%d",&n),n>0)
    34     {
    35         printf("Round %d
    ",n);
    36         memset(has1,0,sizeof(has1));
    37         memset(num,0,sizeof(num));
    38         cin>>s1>>s2;
    39         int tmp=cal();
    40         if(tmp==-1)     printf("You win.
    ");
    41         else if(tmp<7)  printf("You chickened out.
    ");
    42         else            printf("You lose.
    ");
    43     }
    44     return 0;
    45 }
    AC代码
  • 相关阅读:
    Linux面试题(后续会不断更新)
    01 . Shell详细入门介绍及简单应用
    06 . Prometheus监控Redis并配置Grafana
    Django实现图片上传并前端页面显示
    03 . 二进制部署kubernetes1.18.4
    Docker部署Python项目
    02 . Kubeadm部署Kubernetes及简单应用
    01 . 容器编排简介及Kubernetes核心概念
    05 . Prometheus监控Nginx
    GoAccess分析Web日志
  • 原文地址:https://www.cnblogs.com/xcw0754/p/4588354.html
Copyright © 2011-2022 走看看