zoukankan      html  css  js  c++  java
  • Codeforces 1023 A.Single Wildcard Pattern Matching-匹配字符 (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)

    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)

    A. Single Wildcard Pattern Matching

    题意就是匹配字符的题目,打比赛的时候没有看到只有一个" * ",然后就写挫了,被hack了,被hack的点就是判一下只有一个" * "。

    代码:

     1 //A
     2 #include<iostream>
     3 #include<cstdio>
     4 #include<cstring>
     5 #include<algorithm>
     6 #include<bitset>
     7 #include<cassert>
     8 #include<cctype>
     9 #include<cmath>
    10 #include<cstdlib>
    11 #include<ctime>
    12 #include<deque>
    13 #include<iomanip>
    14 #include<list>
    15 #include<map>
    16 #include<queue>
    17 #include<set>
    18 #include<stack>
    19 #include<vector>
    20 using namespace std;
    21 typedef long long ll;
    22 
    23 const double PI=acos(-1.0);
    24 const double eps=1e-6;
    25 const ll mod=1e9+7;
    26 const int inf=0x3f3f3f3f;
    27 const int maxn=2*1e5+10;
    28 const int maxm=100+10;
    29 #define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    30 
    31 char s[maxn],t[maxn];
    32 
    33 int main()
    34 {
    35     int n,m;
    36     scanf("%d%d",&n,&m);
    37     scanf("%s%s",s,t);
    38     int pos=-1;
    39     for(int i=0;i<n;i++){
    40         if(s[i]=='*'){
    41             pos=i;
    42             break;
    43         }
    44     }
    45     if(pos==-1){
    46         if(n!=m)
    47             cout<<"NO"<<endl;
    48         else{
    49             for(int i=0;i<n;i++){
    50                 if(s[i]!=t[i]){
    51                     cout<<"NO"<<endl;
    52                     return 0;
    53                 }
    54             }
    55             cout<<"YES"<<endl;
    56         }
    57     }
    58     else{
    59         if(m<n-1){
    60             cout<<"NO"<<endl;
    61             return 0;
    62         }
    63         for(int i=0;i<pos;i++){
    64             if(s[i]!=t[i]){
    65                 cout<<"NO"<<endl;
    66                 return 0;
    67             }
    68         }
    69         for(int i=n-1,j=m-1;i>pos;i--,j--){
    70             if(s[i]!=t[j]){
    71                 cout<<"NO"<<endl;
    72                 return 0;
    73             }
    74         }
    75         cout<<"YES"<<endl;
    76     }
    77 }

     

  • 相关阅读:
    对于作用域和闭包的理解
    响应式开发学习(3)——图片优化
    响应式开发(2)
    响应式开发(1)
    数据结构
    进阶题目
    集合
    数组
    内存相关
    线程
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9501894.html
Copyright © 2011-2022 走看看