zxj跑圈

Posted szmssf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zxj跑圈相关的知识,希望对你有一定的参考价值。

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 using namespace std;
 5 int n,m,f[55][55],num[55],len;
 6 int dp(int pos,int state,int lead,int limit)
 7 {
 8     if(pos==0)return 1;
 9     if(!lead&&!limit&&(~f[pos][state]))return f[pos][state];
10     int up=limit?num[pos]:9,ans=0;
11     for(int i=0;i<=up;i++)
12     {
13         if(i==4||(state==6&&i==2))continue;
14         ans+=dp(pos-1,i,lead&&i==0,limit&&i==num[pos]);
15     }
16     if(!lead&&!limit)f[pos][state]=ans;
17     return ans;
18 }
19 int solve(int x)
20 {
21     memset(f,-1,sizeof(f));len=0;
22     while(x){num[++len]=x%10;x/=10;}
23     return dp(len,0,1,1);
24 }
25 int main()
26 {
27     while(cin>>n>>m)
28     {
29         if(!n&&!m)break;
30         printf("%d\n",solve(m)-solve(n-1));
31     }
32     return 0;
33 }

 

以上是关于zxj跑圈的主要内容,如果未能解决你的问题,请参考以下文章

iOS 多线程:『RunLoop』详尽总结

使用ajax提交form表单

NOIP201106选择客栈

如何读取剑侠三LUA 脚本插件 中的值 用C或VB

微信小程序代码片段

VSCode自定义代码片段——CSS选择器