1. 程式人生 > >哈爾濱理工大學第七屆程式設計競賽初賽(高年級組)F-苦逼的單身狗

哈爾濱理工大學第七屆程式設計競賽初賽(高年級組)F-苦逼的單身狗

連結:https://www.nowcoder.com/acm/contest/27/F
來源:牛客網

題目描述

雙11又到了,小Z依然只是一隻單身狗,對此他是如此的苦惱又無可奈何。

為了在這一天脫單小Z決定向女神表白,但性格靦腆的小Z決定隱晦一點,擷取一段包含'L'、'O'、'V'、'E'的英文。(順序不限)

小Z想起之前小D送給他一本英文書,決定在這裡面擷取一段話,小Z發現有好多種方案來擷取這段話。

你能知道小Z能有多少種方案擷取這段話麼?

為了簡化問題,英文文字講不會出現空格、換行、標點符號及只有大寫的情況。

輸入描述:

本題有T組資料。
對於每組資料只有一行文字。
1≤T≤20
1≤文字長度≤100000

輸出描述:

輸出結果,並換行。

#include<bits/stdc++.h>
using namespace std;
char t[100007];
int main()
{
    int T;scanf("%d",&T);
    while(T--)
    {
        scanf("%s",&t);
        int L=strlen(t);
        long long ans=0;
        int l=-1,o=-1,v=-1,e=-1,d;
        for(int i=0;i<L;i++)
        {
            if(t[i]=='L')l=i;
            else if(t[i]=='O')o=i;
            else if(t[i]=='V')v=i;
            else if(t[i]=='E')e=i;
            d=min(min(l,o),min(v,e));
            if(d!=-1)ans+=d+1;
        }
        printf("%lld\n",ans);
    }
    return 0;
}