比赛 |
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;
}