2014解決方程式NOIP

一見すると、それは高精度だと思っただけで50ポイントをピックアップしてusigned長い長い手を書いた、私が使用していない知っているアルゴリズムで問題に彼の解決策をロール - 、ホーナー法、それは道路テンプレートであってもよいが、この道を数字を覚えておく価値10 ^万の治療にタイトル、問題は、素数の桁の任意の数のモジュラス品質の金型を告げておらず、特に大きな需要の特定の回答を必要としない、おそらくそれは、デジタル品質のアナログを使用することができます

コード

1の#include <iostreamの>
 2の#include <cstdioを>
 3  
4  使用して 名前空間STDを、
5  
6のtypedef 長い LL。
7  
8  のconst  int型 MOD = 1E9 + 7 9  
10は、 (){読み取りちゃう
 11      のLLのANS = 0チャー CH = GETCHAR()、最後=のCH。
12      一方(CH < ' 0 ' || CH> ' 9 ')最後= CH、CH = GETCHAR()。
13      一方' 0 ' <= CH && CH <= ' 9 ')ANS =(ANS * 10 + CH- ' 0 ')%のMOD、CH = GETCHAR()。
14      もし(最後== ' - 'の戻り -ans。戻るANSを。
15  }
 16  
17  INT [ 110 ]、STA [ 110 ]。
18  int型 N、M、トップ= 0 19  
20  ブールチェック(INT X){
 21      のLL TOT = 0 22      のためにint型 I = N; I> = 0 ; I - )TOT =(TOT * X + [I])%MOD。
23      リターンTOT;
24  }
 25  
26  INT メイン(){
 27      N =(読み取り)、M = (読み取り)
28      のためにint型 I = 0 ; iが<= N; iが++)[I] = (読み取り)
29      のためには、int型 I = 1 ; I <= M; iは++)場合(検査(I))STA [++トップ] = I。
30      のprintf(" %d個の\ n " 、上)。
31      のためのint型 i = 1 ; iが=トップ<; Iは++)のprintf(" %d個の\ n " 、STA [I])。    
32  リターン 0 33 }

 

おすすめ

転載: www.cnblogs.com/Wangsheng5/p/11530956.html