please help i am fed up
please can you provide a test casee`
#include
#include
#include
using namespace std;
int mat[10][10];
map<int,int>m;
void update(int a){
//cout<<“yes”<<a;
int i;
for(i=0;i<10;i++)
{
if(m[i]>mat[i][a]+m[a]+1)
{
m[i]=1+mat[i][a]+m[a];
update(i);
}
}
}
int main(){
for(int o=0;o<10;o++)
for(int p=0;p<10;p++)
mat[o][p]=30;
char ch;
ch=getchar();
int i;
for(int i=0;i<=9;i++)
m[i]=40;
int current=0;
int a=ch-48;
m[a]=1;
ch=getchar();
i=0;
int arr[100000];
arr[i]=a;
i++;
while(ch!='\n'){
int a=ch-48;
if(i>2)
if(arr[i-1]==a&&arr[i-2]==a)
goto A;
else
arr[i]=a;
else
arr[i]=a;
current++;
if(m[a]<=current){
current=m[a];
update(a);
}
else
m[a]=current+1;
for(int j=1;j<40&&i-j>-1;j++)
{
if(mat[arr[i-j]][a]>j)
{
mat[arr[i-j]][a]=j;
mat[a][arr[i-j]]=j;
}
if(m[arr[i-j]]>(1+current+j))
{
m[arr[i-j]]=(current+j+1);
// cout<<"A"<<a<<"IJ"<<i-j;
update(arr[i-j]);
}
}i++;
A:;
ch=getchar();
}
printf("%d\n",current);
cin.get();
}
//01982872437567701452
//112233445566778899
//11223344556677-
//988991211223364779911223365482223489-3
//1155334411335533774477226688-11
//99887766446688776655334455697755887554-5
//099887766554433223300885577-5
//016273849567165299885-5
//
`