• Comet OJ


    夕日的光辉

    #include <stdio.h>
    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #include <queue>
    #include <stack>
    #pragma GCC optimize(2)
     
    #define mm(i,v) memset(i,v,sizeof i);
    #define mp(a, b) make_pair(a, b)
    #define one first
    #define two second
     
    using namespace std;
    typedef long long ll;
    typedef pair<int, int > PII;
     
    const int N = 1e6 + 5, mod = 1e9 + 9, INF = 0x3f3f3f3f;
    int t, n, p1, p2, p3, p4, flag;
    char s[N];
    
    int main()
    {
        cin >> t;
        while (t--) {
            cin >> n;
            scanf("%s", s + 1);
            
            p1 = 0, p2 = 0, p3 = 0, p4 = 0;
            for (int i = 1; i <= n; ++i) {
                if (s[i] == 'p') p1 = 1;
                if (s[i] == 'i' && p1 != 0) p2 = 1;
                if (s[i] == 'n' && p2 != 0) p3 = 1;
                if (s[i] == 'k' && p3 != 0) {
                    p4 = 1;
                    break;
                }
            }
            if (p4 == 0) {
                puts("-1");
                continue;
            }
            
            flag = 0;
            for (int i = 1; i <= n; ++i) {
                if (flag == 0) {
                    if (s[i] == 'p') {
                        p1 = i;
                        flag = 1;
                        continue;
                    } else {
                        s[i] = 'a';
                        continue;
                    }
                } else if (flag == 1) {
                    if (s[i] == 'i') {
                        p2 = i;
                        break;
                    } else {
                        s[i] = 'a';
                        continue;
                    }
                }
            }
            
            flag = 0;
            for (int i = n; i >= 1; --i) {
                if (flag == 0) {
                    if (s[i] == 'k') {
                        p4 = i;
                        flag = 1;
                        continue;
                    } else {
                        s[i] = 'a';
                        continue;
                    }
                } else if (flag == 1) {
                    if (s[i] == 'n') {
                        p3 = i;
                        break;
                    } else {
                        s[i] = 'a';
                        continue;
                    }
                }
            }
            
            int Max = p3 - p2 - 1;
    //        cout << p3 << "  " << p2 << endl;
            for (int i = p3 - 1; i >= 1; --i) {
                if (s[i] == 'i') {
                    if (i - p1 - 1 > Max)
                    {
                        Max = i - p1 - 1;
                    }
                    break;
                }
            }
            for (int i = p2 + 1; i <= n; ++i) {
                if (s[i] == 'n') {
                    if (p4 - i - 1 > Max)
                    {
                        Max = p4 - i - 1;
                    }
                    break;
                }
            }
            cout << Max << endl;
        }
    }
    /*
    1
    22
    pinpipkinpkinpknninnpk
    */
  • 相关阅读:
    bootstrap 模态框日期控件datepicker被遮住问题的解决
    (转)Jetty实战之 安装 运行 部署
    (转)Redis研究(一)—简介
    在jboss上部署web应用
    webSphere
    Weblogic部署项目三种方式
    js构造函数详解
    范仁义js课程---51、作用域实例
    javascript疑难问题---7、使用var和不使用var声明变量的区别
    范仁义js课程---50、函数作用域
  • 原文地址:https://www.cnblogs.com/mwh123/p/11823557.html
Copyright © 2020-2023  润新知