1 条题解

  • 0
    @ 2024-2-2 14:17:25

    #include<bits/stdc++.h> using namespace std; char s[100002]; int x[12],y[12]; int main() { int T; cin>>T; for(int i=1;i<=T;i++) { int n,ans=0; for(int i=0;i<=9;i++) { x[i]=0; } cin>>n; for(int i=1;i<=n;i++) { cin>>s[i]; } int a=0; for(int l=1;l<=min(n,100);l++) { if(x[s[l]-'0']==0) { a++; } x[s[l]-'0']++; int b=a; for(int i=0;i<=9;i++) { y[i]=x[i]; } for(int i=1;i<=max(n-l+1,n-99);i++) { if(i!=1) { y[s[i-1]-'0']--; if(y[s[i-1]-'0']==0) { b--; } if(y[s[i+l-1]-'0']==0) { b++; } y[s[i+l-1]-'0']++; } bool flag=1; for(int j=0;j<=9;j++) { if(y[j]>b) { flag=0; } } if(flag) { ans++; } } } cout<<ans<<endl; } return 0; }

    • 1

    信息

    ID
    538
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    9
    已通过
    4
    上传者