JZOJ 1039風の強い【SCOI2009】数

タイトル

説明

風の強い風が強い数を定義します。
先行ゼロなしで少なくとも2つの数値の差が正の整数で風と呼ばれているに隣接。
風は、AとB、風の強い数の合計数を含む、AとBの間で、知りたいですか?
 

入力

二つの整数、AB。

出力

風がA〜Bのどのように多くの数を示す整数。
 

サンプル入力

1 10

サンプル出力

9
 

データ制約

 
 

ヒント

100%のデータを満たす1 <= A <= B <= 2000000000。

 

分析

 

  • DPボードデジタルタイトル

 

コード

1の#include <iostreamの>
 2の#include <CStringの>
 3の#include <cmath>
 4  使って 名前空間STDを、
5  int型 E [ 10001 ]、CNT。
6  長い 長い F [ 12 ] [ 12 ] [ 2 ] [ 2 ]。
7  長い 長い DP(int型の POS、int型プリ、BOOLゼロ、ブールLIM)
 8  {
 9      であれば(POS < 1リターン 1 10     もし(F [POS] [事前] [ゼロ] [LIM] =! - 1リターンF [POS] [事前] [ゼロ] [LIM]。
11      INTの端= LIM E [POS]:9 12      INT ANS = 0 13      のためには、int型 i = 0 ; iが<=エンドと、iは++ 14      {
 15          であれば(ABS(I-PRE)> = 2 || ゼロ)
 16          {
 17の              ANS + = DP(POS- 1、I、ゼロ&&(I = = 0)、LIM &&(I == 端))。
18          }
 19      }
 20     リターン [POS] [事前] [ゼロ] [LIM] = FをANS。
21  }
 22  長い 長い計算値(INT X)
 23  {
 24      のmemset(F、 - 1はsizeof (F))。
25      のmemset(E、0はsizeof (e)参照)。
26      CNT = 0 27      一方、(X)E [++ CNT] = Xの%10、X / = 10 28      リターン DP(CNT、011 )。
29  }
 30  INTmain()の
 31  {
 32      int型A、B。
33      CIN >> A >> B。
34      COUT << CALC(B)-calc(A- 1 )。
35 }

 

おすすめ

転載: www.cnblogs.com/zjzjzj/p/11330411.html