#include<bits/stdc++.h>
using namespace std;
int odp,ile[999],wcz,n,tylm,znak[3001],tylet[3001];
int main()
{
wcz=getchar();
while(wcz>='a'&&wcz<='z')
{
znak[n]=wcz;
for(int i='a';i<='z';++i)
{
tylet[ile[i]]=0;
ile[i]=0;
}
tylm=0;
for(int i=n;i>=0;--i)
{
if(ile[znak[i]]!=0)
{
--tylet[ile[znak[i]]];
if(!tylet[ile[znak[i]]])
--tylm;
}
++ile[znak[i]];
++tylet[ile[znak[i]]];
if(tylet[ile[znak[i]]]==1)
++tylm;
if(tylm==1)
++odp;
}
++n;
wcz=getchar();
}
printf("%d",odp);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include<bits/stdc++.h> using namespace std; int odp,ile[999],wcz,n,tylm,znak[3001],tylet[3001]; int main() { wcz=getchar(); while(wcz>='a'&&wcz<='z') { znak[n]=wcz; for(int i='a';i<='z';++i) { tylet[ile[i]]=0; ile[i]=0; } tylm=0; for(int i=n;i>=0;--i) { if(ile[znak[i]]!=0) { --tylet[ile[znak[i]]]; if(!tylet[ile[znak[i]]]) --tylm; } ++ile[znak[i]]; ++tylet[ile[znak[i]]]; if(tylet[ile[znak[i]]]==1) ++tylm; if(tylm==1) ++odp; } ++n; wcz=getchar(); } printf("%d",odp); return 0; } |
English