比赛 NOIP模拟赛1 评测结果 AAAAAAAAAA
题目名称 叉叉 最终得分 100
用户昵称 Blue_Box 运行时间 0.115 s
代码语言 C++ 内存使用 0.82 MiB
提交时间 2018-02-08 20:15:38
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 100010
using namespace std;
char ch[N];
int ans,sum;
struct Node
{
    int l,r;
}node[N];
int cmp(Node a,Node b){return a.l<b.l;}
int main()
{
    freopen("xxxx.in","r",stdin);
    freopen("xxxx.out","w",stdout);
    cin>>ch+1;sum=1;
    int l=strlen(ch+1),r,n=0;
    for(int a=1;a<=26;a++)
      for(int i=1;i<=l;i++)
        if(a==ch[i]-'a'+1)
        {
            if(node[sum].r) node[++sum].l=i;
            else
             if(!node[sum].l) node[sum].l=i;
             else node[sum].r=i;
        }
    sort(node+1,node+1+sum,cmp);
    for(int i=1;i<=sum;i++)
     for(int j=i+1;j<=sum;j++)
     {
         if(node[i].r<node[j].l) break;
          ans+=(node[i].r<node[j].r);
     }
    cout<<ans<<endl;
    return 0;
}