• Codeforces Round #208 (Div. 2) Problem B Dima and Text Messages(简单字符串处理)


    题目链接:http://codeforces.com/contest/358/problem/B

    第一次半夜刷比赛,只做出来一道题。这道题当时小数据过了大数据竟然RE,再把代码做了简单修改后AC了。

    题目大意:给n个单词长度总和不超过1E5单次前后都有且只有一个<3单词任意位置可以插入小写字母或数字或'<','>'给你译码后的字符串问你是否正确。

    先按照规则将单词拼接成字符串然后对于字符串扫描一边判断是否合法即可。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 
     6 char str[2010000], buff[2010000], ss[2010000];
     7 
     8 int main()
     9 {
    10 //    freopen("in.txt", "r", stdin);
    11 
    12     int n, len;
    13     while(scanf("%d", &n)!=EOF){
    14         len = 0;
    15         str[len++] = '<';
    16         str[len++] = '3';
    17         for(int i=0; i<n; i++){
    18             scanf("%s", buff);
    19             strcpy(str+len, buff);
    20             len+=strlen(buff);
    21             str[len++] = '<';
    22             str[len++] = '3';
    23         }
    24         str[len] = 0;
    25         scanf("%s", ss);
    26         int pa = 0, pb = 0, f = 1;
    27         while(str[pa]!=0 && ss[pb]!=0)
    28         {
    29             if(str[pa]==ss[pb]){
    30                 pa++;pb++;
    31             }
    32             else if((ss[pb]>='a' && ss[pb]<='z') || (ss[pb]>='0' && ss[pb]<='9') || ss[pb]=='<' || ss[pb]=='>'){
    33                 pb++;
    34             }
    35             else{
    36                 f = 0;
    37                 break;
    38             }
    39         }
    40         int lena = strlen(str), lenb = strlen(ss);  //本来通过str[len]!=0判断,RE了
    41         if(pa<lena)f = 0;
    42         while(pb<lenb){
    43             if((ss[pb]>='a' && ss[pb]<='z') || (ss[pb]>='0' && ss[pb]<='9')|| ss[pb]=='<' || ss[pb]=='>'){
    44 
    45             }
    46             else f = 0;
    47             pb++;
    48         }
    49         if(f) printf("yes
    ");
    50         else printf("no
    ");
    51     }
    52     return 0;
    53 }
    View Code
    奔跑吧!少年!趁着你还年轻
  • 相关阅读:
    CAShapeLayer
    iOS开发多线程篇—NSOperation基本操作
    OS开发多线程篇—NSOperation简单介绍
    iOS开发多线程篇—GCD的常见用法
    iOS开发多线程篇—GCD的基本使用
    iOS开发多线程篇—线程的状态
    iOS开发多线程篇—线程间的通信
    iOS开发多线程篇—线程安全
    iOS开发多线程篇—创建线程
    iOS开发多线程篇—多线程简单介绍
  • 原文地址:https://www.cnblogs.com/shu-xiaohao/p/3389179.html
Copyright © 2020-2023  润新知