Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int v[1000001];
- int se_gaseste(int a,int cif){
- while(a>0 && a%10!=cif)
- a/=10;
- if(a>0)
- return 1;
- else
- return 0;
- }
- int main()
- {
- int n,i,j,stop;
- cin>>n;
- v[n]=0;
- for(i=n-1;i>=0;i--)
- v[i]=-1;
- for(i=n-1;i>=0;i--){
- stop=min(9,n-i);
- for(j=1;j<=stop;j++){
- if(v[i+j]>-1 && se_gaseste(i+j,j)==1){
- if(v[i]==-1){
- v[i]=v[i+j]+1;
- }else{
- v[i]=min(v[i+j]+1,v[i]);
- }
- }
- }
- ///printf("i:%d v[i]:%d\n",i,v[i]);
- }
- cout<<v[0];
- return 0;
- }
Advertisement
Comments
-
- http://bit.ly/18masadulsStos33
-
- Whaty is this link? It doesnt work.
Add Comment
Please, Sign In to add comment
Advertisement