题目描述
blablabla
样例
blablabla
大模拟!!!!!!
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+100;
int main()
{
int t;
cin>>t;
while(t--)
{
string s;
cin>>s;
int len=s.length();
int pos1=0,pos2=0,pos3=0;
int res=INT_MAX;
for(int i=0;i<len;i++)
{
if(s[i]=='1')
{
pos1=i+1;
if(pos2!=0&&pos3>pos2)
{
res=min(res,(i+1)-pos2+1);
}
if(pos3!=0&&pos2>pos3)
{
res=min(res,(i+1)-pos3+1);
}
}
if(s[i]=='2')
{
pos2=i+1;
if(pos1!=0&&pos3>pos1)
{
res=min(res,(i+1)-pos1+1);
}
if(pos3!=0&&pos1>pos3)
{
res=min(res,(i+1)-pos3+1);
}
}
if(s[i]=='3')
{
pos3=i+1;
if(pos1!=0&&pos2>pos1)
{
res=min(res,(i+1)-pos1+1);
}
if(pos2!=0&&pos1>pos2)
{
res=min(res,(i+1)-pos2+1);
}
}
// printf("s=%c %d %d \n",s[i],pos1,pos2);
}
if(res==INT_MAX)
printf("0\n");
else
printf("%d\n",res);
}
return 0;
}
好狠
我是我机房中最菜的