• CF1101B Accordion 模拟


    前后扫一遍;

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstdlib>
    #include<cstring>
    #include<string>
    #include<cmath>
    #include<map>
    #include<set>
    #include<vector>
    #include<queue>
    #include<bitset>
    #include<ctime>
    #include<deque>
    #include<stack>
    #include<functional>
    #include<sstream>
    //#include<cctype>
    //#pragma GCC optimize(2)
    using namespace std;
    #define maxn 100005
    #define inf 0x7fffffff
    //#define INF 1e18
    #define rdint(x) scanf("%d",&x)
    #define rdllt(x) scanf("%lld",&x)
    #define rdult(x) scanf("%lu",&x)
    #define rdlf(x) scanf("%lf",&x)
    #define rdstr(x) scanf("%s",x)
    typedef long long  ll;
    typedef unsigned long long ull;
    typedef unsigned int U;
    #define ms(x) memset((x),0,sizeof(x))
    const long long int mod = 1e9 + 7;
    #define Mod 1000000000
    #define sq(x) (x)*(x)
    #define eps 1e-4
    typedef pair<int, int> pii;
    #define pi acos(-1.0)
    //const int N = 1005;
    #define REP(i,n) for(int i=0;i<(n);i++)
    typedef pair<int, int> pii;
    inline ll rd() {
        ll x = 0;
        char c = getchar();
        bool f = false;
        while (!isdigit(c)) {
            if (c == '-') f = true;
            c = getchar();
        }
        while (isdigit(c)) {
            x = (x << 1) + (x << 3) + (c ^ 48);
            c = getchar();
        }
        return f ? -x : x;
    }
    
    ll gcd(ll a, ll b) {
        return b == 0 ? a : gcd(b, a%b);
    }
    int sqr(int x) { return x * x; }
    
    
    /*ll ans;
    ll exgcd(ll a, ll b, ll &x, ll &y) {
        if (!b) {
            x = 1; y = 0; return a;
        }
        ans = exgcd(b, a%b, x, y);
        ll t = x; x = y; y = t - a / b * y;
        return ans;
    }
    */
    
    
    
    int main() {
        ios::sync_with_stdio(0);
        string s; cin >> s;
        int len = s.length();
        int ans = 0;
        int maxx = 0;
        int pos = -1;
        for (int i = 0; i < len; i++) {
            if (s[i] == '[') {
                pos = i; break;
            }
        }
        int pos2 = -1;
        for (int i = len - 1; i >= 0; i--) {
            if (s[i] == ']') {
                pos2 = i; break;
            }
        }
        int pos3 = -1;
        if (pos == -1 || pos2 == -1) {
            cout << -1 << endl; return 0;
        }
        for (int i = pos; i <= pos2; i++) {
            if (s[i] == ':') { pos3 = i; break; }
        }
        int pos4 = -1;
        for (int i = pos2; i >= pos; i--) {
            if (s[i] == ':') {
                pos4 = i; break;
            }
        }
        if (pos3 < pos4&&(pos!=-1)&&(pos2!=-1)&&(pos3!=-1)&&(pos4!=-1)) {
            ans += 4;
            for (int i = pos3; i <= pos4; i++) {
                if (s[i] == '|')ans++;
            }
            cout << ans << endl;
        }
        else {
            cout << -1 << endl;
        }
        return 0;
    }
    
    EPFL - Fighting
  • 相关阅读:
    【暑假】[深入动态规划]UVa 1380 A Scheduling Problem
    【暑假】[深入动态规划]UVa 12170 Easy Climb
    【暑假】[深入动态规划]UVa 10618 The Bookcase
    【暑假】[深入动态规划]UVa 10618 Fun Game
    【暑假】[深入动态规划]UVa 10618 Fixing the Great Wall
    【暑假】[深入动态规划]UVa 1627 Team them up!
    【暑假】[深入动态规划]UVa 10618 Tango Tango Insurrection
    【暑假】[深入动态规划]UVa 1412 Fund Management
    【暑假】[实用数据结构]UVAlive 4670 Dominating Patterns
    UML类图关系大全
  • 原文地址:https://www.cnblogs.com/zxyqzy/p/10275705.html
Copyright © 2020-2023  润新知