zoukankan      html  css  js  c++  java
  • codeforces 723B Text Document Analysis(字符串模拟,)

    题目链接:http://codeforces.com/problemset/problem/723/B

    题目大意:

      输入n,给出n个字符的字符串,字符串由 英文字母(大小写都包括)、 下划线'_' 、括号'(' ')' 组成。【括号不会嵌套】

      求括号外面的连续字符串最大的字符串长度和括号内的连续字符串的个数。

    举例:

    input
    37
    _Hello_Vasya(and_Petya)__bye_(and_OK)
    output
    5 4

    括号外面的连续的字符串最长的字符串长度为 5 括号内有 4 个连续的字符串。

    解题思路:

      模拟扫描一遍即可,分为两种情况

      1.括号外面的字符串,如果碰到英文字符,则while 循环即可直到不是英文字母,在循环的同时用一个tem记录字符串的长度,找到一个最长的即可。

      2.括号里面,如果碰到‘(’ 则进入循环,碰到‘)’退出,在该循环内,如果是英文字母,则统计个数cut++,同时while循环,直到不是英文字母。

      以上循环是注意数组尾,简单提一下,自己再写时加了判断,1A.

    AC Code:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int n;
     6     char na[255];
     7     while(scanf("%d",&n)!=EOF)
     8     {
     9         int maxn=0,cut=0;
    10         cin>>na;
    11         for(int i=0; i<strlen(na); i++)
    12         {
    13             if(na[i]=='_')continue;
    14             if(isalpha(na[i]))
    15             {
    16                 int tem=0;
    17                 while(isalpha(na[i])&&i<strlen(na))
    18                     tem++,i++;
    19                 maxn=max(maxn,tem);
    20             }
    21             if(na[i]=='(')
    22             {
    23                 i+=1;//.
    24                 while(na[i]!=')'&&i<strlen(na))
    25                 {
    26                     if(na[i]=='_')
    27                     {
    28                         i++;
    29                         continue;
    30                     }
    31                     if(isalpha(na[i]))
    32                     {
    33                         cut++;
    34                         while(isalpha(na[i])&&i<strlen(na))i++;
    35                     }
    36                 }
    37             }
    38         }
    39         printf("%d %d
    ",maxn,cut);
    40     }
    41     return 0;
    42 }
  • 相关阅读:
    设计模式-装饰模式(Decorator Pattern)
    死锁分析与解决
    事务原理与开发
    SQL注入与防范
    数据库连接池
    JDBC基础知识
    算法复习
    计算机网络基础知识
    Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Faile
    手写算法
  • 原文地址:https://www.cnblogs.com/A--Q/p/5967888.html
Copyright © 2011-2022 走看看