A题说到小喵由于贪玩,有几天没有刷题。那么它那几天在干什么呢?他在参加聚会!这天,他又去参加聚会了。在KTV里,小喵和其它几只喵坐成一排。一只花喵开口了:“我是来自广东省的喵。”另一只灰喵两眼放光:“好巧啊,咱们可是老乡!”话题便开始有了老乡会的味道,这几只喵来自各种各样的省份,有江苏的,有浙江的…小喵感到十分兴奋。
现在小喵想知道坐的最近的两只老乡喵之间的距离,给出一串小写字符,每个字符代表一个省份,每邻近的两个字符之间的距离为1,聪明的你一定能解决如此简单的问题吧!
Input
第一行是一个整数T(1 <= T <= 50),代表测试数据的组数。
每个测试数据仅有一行长度为N(1<=N<=1000)的字符串,第i个字符代表第i只喵的故乡,字符串仅包含小写字母。
Output
对于每组测试样例,你应当输出 " Case #x: y", x代表从1开始的测试组编号,y代表答案。如果每只喵都来自于不同的省份,输出-1。
Sample Input
2 abcecba abc
Sample Output
Case #1: 2 Case #2: -1
A题说到小喵由于贪玩,有几天没有刷题。那么它那几天在干什么呢?他在参加聚会!这天,他又去参加聚会了。在KTV里,小喵和其它几只喵坐成一排。一只花喵开口了:“我是来自广东省的喵。”另一只灰喵两眼放光:“好巧啊,咱们可是老乡!”话题便开始有了老乡会的味道,这几只喵来自各种各样的省份,有江苏的,有浙江的…小喵感到十分兴奋。
现在小喵想知道坐的最近的两只老乡喵之间的距离,给出一串小写字符,每个字符代表一个省份,每邻近的两个字符之间的距离为1,聪明的你一定能解决如此简单的问题吧!
Input
第一行是一个整数T(1 <= T <= 50),代表测试数据的组数。
每个测试数据仅有一行长度为N(1<=N<=1000)的字符串,第i个字符代表第i只喵的故乡,字符串仅包含小写字母。
Output
对于每组测试样例,你应当输出 " Case #x: y", x代表从1开始的测试组编号,y代表答案。如果每只喵都来自于不同的省份,输出-1。
Sample Input
2 abcecba abc
Sample Output
Case #1: 2 Case #2: -1
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
using namespace std;
const int inf=0x3f3f3f;
int a[3001];
int main()
{
int t;
int f=0;
scanf("%d",&t);
while(t--)
{
memset(a,0,sizeof(a));
char s[3001];
scanf("%s",s);
int n=strlen(s);
int ans=inf;
int i,j;
for( i=0; i<n; i++)
{
for( j=i+1; j<n; j++)
{
if(s[i]==s[j])
ans=min(ans,j-i);
}
}
if(ans==inf)ans=-1;
f++;
printf("Case #%d: %d\n",f,ans);
}
return 0;
}