• ural 1993 This cheeseburger you don't need


    顺次存到{} 【】 () 遇到逗号就处理下,最后处理逗号之后的


    #include <iostream>
    #include <cstring>
    #include <string>
    #include <cstdio>
    #include <cmath>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <map>
    #define inf 0x3f3f3f3f
    typedef __int64 ll;
    using namespace std;
    
    char ob[105],sub[105],veb[105],s[105];
    int flag,i,l,o,sb,v,j,first;
    
    int main()
    {
        while(gets(s)!=NULL)
        {
            flag=0;
            first=1;
            i=o=sb=v=0;
            l=strlen(s);
            for(i=0;i<l;i++)
            {
                if(s[i]=='(')//sub
                {
                    i++;
                    while(i<l&&s[i]!=')')
                    {
                        sub[sb++]=s[i++];
                    }
                }
    
                else if(s[i]=='{')//ob
                {
                    i++;
                    while(i<l&&s[i]!='}')
                    {
                        ob[o++]=s[i++];
                    }
                }
                else if(s[i]=='[')//verb
                {
                    i++;
                    while(i<l&&s[i]!=']')
                    {
                        veb[v++]=s[i++];
                    }
                }
                else
                {
                    if(s[i]==',')
                    {
                        for(j=0;j<o;j++)
                        {
                            if(first)
                            {
                                if(ob[0]>='a'&&ob[0]<='z')
                                {
                                    putchar(ob[0]-32);
                                }
                                else putchar(ob[0]);
                                first=0;
                                continue;
                            }
                            putchar(ob[j]);
                        }
                        putchar(' ');
                        o=0;
                        for(j=0;j<sb;j++)
                        {
                            if(j==0&&sub[0]<='Z'&&sub[0]>='A')
                                putchar(sub[j]+32);
                            else putchar(sub[j]);
                        }
                        putchar(' ');
                        sb=0;
                        for(j=0;j<v;j++)
                        {
                            if(j==0&&veb[0]<='Z'&&veb[0]>='A')
                                putchar(veb[j]+32);
                            else putchar(veb[j]);
                        }
                        v=0;
                        //处理已经存了的 然后清零
                        putchar(',');
                        i++;
                        while(s[i]!='{'&&s[i]!='('&&s[i]!='[')
                        {
                            if(i<l){
                                putchar(s[i]);
                                i++;
                            }
                            else
                            {
                                flag=1;
                                break;
                            }
                        }
                        i--;
                    }
                  //  if(flag) break;
                }
            }
            if(o||sb||v)
            {
                for(j=0;j<o;j++)
                {
                    if(first)
                    {
                        if(ob[0]>='a'&&ob[0]<='z')
                        {
                            putchar(ob[0]-32);
                        }
                        else putchar(ob[0]);
                        first=0;
                        continue;
                    }
                    putchar(ob[j]);
                }
                putchar(' ');
                o=0;
                for(j=0;j<sb;j++)
                {
                    if(j==0&&sub[0]<='Z'&&sub[0]>='A')
                        putchar(sub[j]+32);
                    else putchar(sub[j]);
                }
                putchar(' ');
                sb=0;
                for(j=0;j<v;j++)
                {
                    if(j==0&&veb[0]<='Z'&&veb[0]>='A')
                        putchar(veb[j]+32);
                    else putchar(veb[j]);
                }
                v=0;
            }
            putchar('
    ');
        }
        return 0;
    }
    


  • 相关阅读:
    Linux记录-批量安装zabbix(转载)
    k8s-基础环境配置(六)
    k8s记录-ntpd时间同步配置(五)
    k8s记录-flanneld+docker网络部署(四)
    Java面试通关要点汇总集
    Java并发编程系列
    码农需要知道的“潜规则”
    领域驱动设计文章
    自动化测试的一些思考
    轻量级爬虫框架
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3395291.html
Copyright © 2020-2023  润新知