HDU 5578 Friendship of Frog

2015ACM/ICPC亚洲区上海站 F

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
    int t;
    scanf("%d\n", &t);
    for (int i=0;i<t;i++)
    {
        bool b[26][2000]={false};
        char s[2000];
        gets(s);
        int l = strlen(s);
        for (int j=0;j<l;j++)
            b[s[j]-'a'][j] = true;
        int ans = l;
        for (int j=0;j<26;j++)
        {
            int k=0;
            int q=0;
            for(;;)
            {
                k = q;
                while (!b[j][k]) k++;
                if (k>=l) break;
                q = k+1;
                while (!b[j][q]) q++;
                if (q>=l) break;
                if (q-k<ans) ans = q-k;
            }
        }
        if (ans == l) ans = -1;
        printf("Case #%d: %d\n", i+1, ans);
    }
    return 0;
}

你可能感兴趣的:(HDU 5578 Friendship of Frog)