#include<bits/stdc++.h>
using namespace std;
long vis[10005],dist[10005],i,l,u,r,ar[15];
void bfs(long src)
{
queue<long>q;
q.push(src);
vis[src]=0;
dist[src]=0;
while(!q.empty())
{
long u1=q.front();
q.pop();
for(i=0;i<r;i++)
{
long v=(u1+ar[i])%10000;
if(vis[v]==0)
{
vis[v]=1;
dist[v]=dist[u1]+1;
q.push(v);
}
}
}
}
main()
{
long cs=1;
while(cin>>l>>u>>r)
{
if(l==0&&u==0&&r==0)
break;
for(i=0;i<r;i++)
{
cin>>ar[i];
}
bfs(l);
printf("Case %ld: ",cs++);
if(dist[u]==0)
printf("Permanently Locked\n");
else
cout<<dist[u]<<endl;
for(i=0;i<10005;i++)
{
vis[i]=0;
dist[i]=0;
}
}
}
using namespace std;
long vis[10005],dist[10005],i,l,u,r,ar[15];
void bfs(long src)
{
queue<long>q;
q.push(src);
vis[src]=0;
dist[src]=0;
while(!q.empty())
{
long u1=q.front();
q.pop();
for(i=0;i<r;i++)
{
long v=(u1+ar[i])%10000;
if(vis[v]==0)
{
vis[v]=1;
dist[v]=dist[u1]+1;
q.push(v);
}
}
}
}
main()
{
long cs=1;
while(cin>>l>>u>>r)
{
if(l==0&&u==0&&r==0)
break;
for(i=0;i<r;i++)
{
cin>>ar[i];
}
bfs(l);
printf("Case %ld: ",cs++);
if(dist[u]==0)
printf("Permanently Locked\n");
else
cout<<dist[u]<<endl;
for(i=0;i<10005;i++)
{
vis[i]=0;
dist[i]=0;
}
}
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন