zoukankan      html  css  js  c++  java
  • HDU 4891

    一道简单的模拟题

    需要要匹配{} 和 $$ 符里面的东西即可

    //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler
    #include <stdio.h>
    #include <iostream>
    #include <cstring>
    #include <cmath>
    #include <stack>
    #include <queue>
    #include <vector>
    #include <algorithm>
    #define ll long long
    #define Max(a,b) (((a) > (b)) ? (a) : (b))
    #define Min(a,b) (((a) < (b)) ? (a) : (b))
    #define Abs(x) (((x) > 0) ? (x) : (-(x)))
    using namespace std;
    
    const int INF = 0x3f3f3f3f;
    
    char a[3000000];
    ll flag1, flag2;
    ll flag1_num, flag2_num;
    ll ans;
    bool ff;
    
    void init(){
        flag1 = flag2 = 0;
        flag1_num = flag2_num = ans = 1;
        ff = false;
    }
    
    int main(){
        ll i, j, k, t, m, n;
        while(cin >> n){
            getchar();
            init();
            for(k = 0; k < n; ++k){
                gets(a);
                ll len = strlen(a);
                for(i = 0; i < len; ++i){
                    if(a[i] == '{'){
                        flag1 = 1;
                    } else if(a[i] == '}'){
                        flag1 = 0;
                        ans *= flag1_num;
                        flag1_num = 1;
                    } else if(a[i] == '$' && !flag2){
                        flag2 = 1;
                    } else if(a[i] == '$' && flag2){
                        flag2 = 0;
                    } else if(a[i] == '|' && flag1){
                        ++flag1_num;
                    } else if(a[i] == ' ' && flag2){
                        ++flag2_num;
                    } else{
                        flag2_num = 1;
                    }
    
                    if(a[i] == ' ' && a[i + 1] != ' ' && flag2){
                        ans *= flag2_num;
                        flag2_num = 1;
                    }
                    if(ans > 100000)    ff = true;
                }
            }
            if(ff){
                printf("doge
    ");
            }
            else{
                cout << ans << endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    getter 和 setter方法
    了解coredata 数据库的博客
    iOS 本地缓存简述
    iOS 9.0 xcode7
    iOS 直播推流SDK -- PLCameraStreamingKit
    时间充裕的时候看看技术总结
    技术分享7
    学习笔记-音频编解码
    学习笔记-weak strong ARC mrc
    飘雪效果的swf
  • 原文地址:https://www.cnblogs.com/wushuaiyi/p/4074068.html
Copyright © 2011-2022 走看看