UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#187341#3359. 城市之上gaojieming100701ms50172kbC++11772b2023-10-02 08:35:512023-10-02 12:43:02

answer

#include<bits/stdc++.h>
#define ll long long
#define il inline
#define pn putchar('\n')
#define maxint 2147483647
#define min(x,y) (x<y?x:y)
#define max(x,y) (x>y?x:y)
#define int ll
using namespace std;
int n,ca,cb,cc,ans;
string s;
unordered_map<int,unordered_map<int,unordered_map<int,int>>>f;
signed main()
{
    #ifndef ONLINE_JUDGE
    freopen("in.txt","r",stdin);
    #endif
    scanf("%lld",&n);
    cin>>s;
    f[0][0][0]=1;
    for(int i=0;i<n;i++)
    {
        if(s[i]=='A')
            ca++;
        if(s[i]=='B')
            cb++;
        if(s[i]=='C')
            cc++;
        while(ca&&cb&&cc)
            ca--,cb--,cc--;
        ans+=f[ca][cb][cc];
        f[ca][cb][cc]++;
    }
    printf("%lld",ans);
    return 0;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 0ms
memory: 1272kb

input:

100
BCCABAAACCCABABCABBBACCAABABCBACCACAACBAAAABCCCBBBBCABAABABCABCABBCCBBCACBABCABCACBAAABCCAAACBAA...

output:

106

result:

ok 1 number(s): "106"

Test #2:

score: 10
Accepted
time: 0ms
memory: 1280kb

input:

100
CCAABABBAACCBACCBBCCCPAABUCABBBACAABABBBBACCBBBBBCCCABCBBBAABCABAACBBCBCAABBAACCCBAABACACBBCBBCB...

output:

84

result:

ok 1 number(s): "84"

Test #3:

score: 10
Accepted
time: 0ms
memory: 1276kb

input:

100
CACCCCAACCABCBBBABBBCCCACACBBCABACCCCCBAACACCCBBBBAACABCAABCBCBACCABCBBCBAAIABBBBABAABCBCABCBABB...

output:

84

result:

ok 1 number(s): "84"

Test #4:

score: 10
Accepted
time: 0ms
memory: 1308kb

input:

1000
CCABCAAAACCABBBABCACABCABBBACACCAABACBBABCBBCCBABCBBBBCCAABBABACBAAABBAABBAABAABCBACCBABABBBACC...

output:

1064

result:

ok 1 number(s): "1064"

Test #5:

score: 10
Accepted
time: 0ms
memory: 1324kb

input:

1000
CABCCACBBBBABAACAACAAACCAABBCBACCBBBAABACCACAPCBBCBBCCABBBAHBCCCCCBCABCBBBBBACABACAAAABBABAACBA...

output:

1234

result:

ok 1 number(s): "1234"

Test #6:

score: 10
Accepted
time: 0ms
memory: 1304kb

input:

1000
ABBBCCBABBCCABCCCUBABBCCBBAABABAACBBACACCQCBBBAABACCCBBACBBBAABCBBABBAACABCBAACBACRCCCCBABBBACB...

output:

1257

result:

ok 1 number(s): "1257"

Test #7:

score: 10
Accepted
time: 157ms
memory: 12160kb

input:

1000000
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCAB...

output:

153312132

result:

ok 1 number(s): "153312132"

Test #8:

score: 10
Accepted
time: 150ms
memory: 10572kb

input:

1000000
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCAB...

output:

154109623

result:

ok 1 number(s): "154109623"

Test #9:

score: 10
Accepted
time: 165ms
memory: 12948kb

input:

1000000
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCAB...

output:

153096232

result:

ok 1 number(s): "153096232"

Test #10:

score: 10
Accepted
time: 229ms
memory: 50172kb

input:

1000000
ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCAB...

output:

153243211

result:

ok 1 number(s): "153243211"