ブルーブリッジカップ混合番号(完全配列)

 

説明

69 258 + 3 = 714分の100:100は、混合画分の形で表すことができます。
82 + 100 = 197分の3546:それはまた、のように表すことができます。
注前記分数、番号1〜9に見える一度だけ、それぞれ(0を含みません)。
このような混合割合は、11 100の表記があります。

入力

標準入力からの正の整数N(N <×1000 1000)

出力

デジタル番組を出力してデジタル1〜9種の数が示される全てからなる漏れ分数なし省略する。
注:各々の出力に数値表現でのみ統計を言っ必要ありません!

サンプル入力1

100

サンプル出力1

11

 

サンプル入力2

105

サンプル出力2

6

 

 

 

 

1の#include <stdio.hの>
 2の#include < ストリング・H>
 3の#include <iostreamの>
 4の#include < ストリング >
 5の#include <math.h>の
 6の#include <アルゴリズム>
 7の#include <ベクトル>
 8#含む<キュー>
 9の#include < セット >
 10の#include <積層>
 11の#include <地図>
 12の#include <sstream提供さ>
 13  のconst  int型 INF = 0x3f3f3f3f 14 typedefの長い 長いLL。
 CONST  INT MOD = 1E9 + 7 ;
 16  CONST  INT MAXN = 1E7 + 10 ;
 17  使用して 名前空間STD;
 18れている 
19。 int型の A [ 10 ]; // ストア完全順列配列
20は、 
21であり、 INT (メイン)
 22である {
 23が     INT N-;
 24      scanfの(" D%、およびN-);
 25      INT I = 0 I <; 9 ; I ++)// 初期化
26         [I] = I + 1 27      INT ANS = 0 ;
 28      行う{
 29          のint A = 0 ; // 整数部
30          のためのINT I = 0 ; I <= 6。 ; I ++)// 整数部最大6をします
31は         {
 32              A * = A 10 + A [I];
 33である             INT B = 0 ; // 分子部分
34が             INT C = 0 ; // 分母部
35              IF(= A> N-)
 36                  BREAK ;
 37              INT J = I +は、1。 ; J <= I +(9 - (I + 1)+ 1)/ 2 ; J ++)// 分子部分以上は、残りの桁の半分
38は、                  B = B * 10 + A [J];
 39              INT J = I +(9 - (I + 1)+ 。1)/ 2 + 1、J < 9。、J ++)// すべての分母の残りのビット
40                  C = * C 10 + A [J]。
41は             IFは(Bの%C == 0 && A + B / C == N-)// 理解分子が/分母が整数でなければならない
42は                  ANS ++ ;
 43である             ためINT J = I +(9 - (I + 1)+ 。1)/ 2 + 。1 ; J < 8 ; J ++)// 分子部分が長くなり、分母が短くなる
44は、             {
 45                  B = B * 10 + A [J];
 46である                  C = CA [J] * POW(109 - (J + 。1 ));
 47                  IF(Bの%のC == 0&& + B / C == N)
 48                      ANS ++ 49              }
 50          }
 51      } ながら(next_permutation(A、A + 9 ))。
52      のprintf(" %dの\ n " 、ANS)。
53      リターン 0 ;
54 }

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/jiamian/p/11872876.html