https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3711
.打个表,然后模拟过程即可,如果超过了100000次就输出-1
有些玄学
#include<bits/stdc++.h>
using namespace std;
bool bs[700070];
int main(){
for(int i=1;i<=700000;i++)
{
if(i%7==0)
{
bs[i]=1;
continue;
}
int s=i;
int t;
while(s)
{
t=s%10;
s/=10;
if(t==7)
{
bs[i]=1;
break;
}
}
}
int n,m,k;
while(~scanf("%d%d%d",&n,&m,&k))
{
if(n==0)break;
int js=0;
int time=1;
int fx=0;
int por=1;
while(1)
{
if(time>=100000)
{
cout<<"-1"<<endl;
break;
}
if(bs[time]==1&&por==m)
js++;
if(js==k)
{
cout<<time<<endl;
break;
}
time++;
if(fx==0)
{
por++;
if(por==n)
fx=1;
}
else{
por--;
if(por==1)
fx=0;
}
}
}
return 0;
}