• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Problem B : Always an Integer

            Combinatorics is a branch of mathematics chiefly concerned with counting discrete objects. For instance, how many ways can you pick two people out of a crowd of n people? Into how many regions can you divide a circular disk by connecting n points on its boundary with one another? How many cubes are in a pyramid with square layers ranging from 1 × 1 to n × n cubes?


                               TFigure 1:T If we connect six points on the boundary of a circle, at most 31 regions are created.

            Many questions like these have answers that can be reduced to simple polynomials in n. The answer to the first question above is n(n-1)/2, or (n^2-n)/2. The answer to the second is (n^4-6n^3+23n^2-18n+24)/24. The answer to the third is n(n+1)(2n+1)/6, or (2n^3+3n^2+n)/6. We write these polynomials in a standard form, as a polynomial with integer coefficients divided by a positive integer denominator. These polynomials are answers to questions that can have integer answers only. But since they have fractional coefficients, they look as if they could produce non-integer results! Of course, evaluating these particular polynomials on a positive integer always results in an integer. For other polynomials of similar form, this is not necessarily true. It can be hard to tell the two cases apart. So that, naturally, is your task.

            Input
            The input consists of multiple test cases, each on a separate line. Each test case is an expression in the form (P)/D, where P is a polynomial with integer coefficients and D is a positive integer denominator. P is a sum of terms of the form Cn^E, where the coefficient C and the exponent E satisfy the following conditions:
            1. E is an integer satisfying 0 ≤ E ≤ 100. If E is 0, then Cn^E is expressed as C. If E is 1, then Cn^E is expressed as Cn, unless C is 1 or -1. In those instances, Cn^E is expressed as n or -n.
            2. C is an integer. If C is 1 or -1 and E is not 0 or 1, then the Cn^E will appear as n^E or -n^E.
            3. Only non-negative C values that are not part of the first term in the polynomial are preceded by +.
            4. Exponents in consecutive terms are strictly decreasing.
            5. C and D fit in a 32-bit signed integer.

             

            See the sample input for details.
            Input is terminated by a line containing a single period.

            Output
            For each test case, print the case number (starting with 1). Then print TAlways an integerT if the test casepolynomial evaluates to an integer for every positive integer n. Print TNot always an integerT otherwise. Print the output for separate test cases on separate lines. Your output should follow the same format as the sample output.

            Sample Input
            (n^2-n)/2
            (2n^3+3n^2+n)/6
            (-n^14-11n+1)/3
            .

            Output for the Sample Input
            Case 1: Always an integer
            Case 2: Always an integer
            Case 3: Not always an integer

            題目大概的意思是說:給定一個關于n的p次多項式,問該多項式是否為整值多項式。
            根據定理:n次多項式f(n)是整值多項式當且僅當f(n)至少在n+1個連續的整數上都取整值。
            只用將0-MAXPOW(取101)依次代入多項式的分子,并對分母d取模,判斷是否都為0即可。
            至于為什么要取MAXPOW,而不是多項式f(n)的最大的次數max{pi}:為了使問題一般化,我們可以講所有的多項式都看成是MAXPOW次的,只不過當次數p>max{pi}時,其對應的系數ci全部為0,并不妨礙問題的解決。這樣一來,就不需要再額外求出f(n)的最大次數max{pi},使程序得到簡化。

            399645  2009-04-23 07:44:07 Accepted 0.066 Minimum 19193  C++ 4119 - Always an integer
             1 #include <iostream>
             2 using namespace std;
             3 
             4 const int MAXPOW = 101;
             5 int c[MAXPOW],d;
             6 char ch;
             7 
             8 int calculate(long long n){
             9     int i;
            10     long long ans=0;
            11     for(i=MAXPOW;i>=0;i--)
            12         ans=(ans*n+c[i])%d;
            13     return (int)ans;
            14 }
            15 bool judge(){
            16     int i;
            17     for(i=0;i<=MAXPOW;i++)
            18         if(calculate(i)) return false;
            19     return true;
            20 }
            21 int main(){
            22     int end,ca=1,sign,value,pow;
            23     while(true){
            24         ch=getchar();
            25         if(ch=='.'break;
            26         memset(c,0,sizeof(c));
            27         while(true){
            28             end=0,scanf(")%n",&end);
            29             if(end) break;
            30             scanf("+");
            31             sign=0,value=1,scanf("-%n",&sign);
            32             scanf("%d",&value);
            33             if(sign) value=-value;
            34             scanf("%nn%n^%n",&pow,&pow,&pow);
            35             if(pow>1) scanf("%d",&pow);
            36             c[pow]+=value;
            37         }
            38         scanf("/%d",&d);
            39         getchar();
            40         printf("Case %d: ",ca++);
            41         puts(judge() ? "Always an integer" : "Not always an integer");
            42     }
            43     return 0;
            44 }

            posted on 2009-04-23 12:51 極限定律 閱讀(1871) 評論(0)  編輯 收藏 引用 所屬分類: ACM-ICPC World Final 2008題解

            <2009年6月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            導航

            統計

            常用鏈接

            留言簿(10)

            隨筆分類

            隨筆檔案

            友情鏈接

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久香蕉综合色一综合色88| 久久久WWW成人| 久久亚洲AV无码精品色午夜麻豆| 久久成人国产精品一区二区| 久久久综合香蕉尹人综合网| 久久久久亚洲av综合波多野结衣| 亚洲AV无码久久精品狠狠爱浪潮 | 国产亚洲成人久久| 欧美性大战久久久久久| 中文字幕无码免费久久| 四虎国产精品免费久久久| 综合久久给合久久狠狠狠97色 | 精品久久久噜噜噜久久久| 久久99精品久久久久久秒播 | 久久99精品久久久久久水蜜桃| 香蕉久久夜色精品国产尤物| 久久99精品久久久久久久久久 | 久久99精品国产麻豆宅宅| 久久艹国产| 99热都是精品久久久久久| 婷婷久久香蕉五月综合加勒比| 久久久精品视频免费观看| 久久亚洲精品成人AV| 亚洲欧美久久久久9999| 色噜噜狠狠先锋影音久久| 国内精品人妻无码久久久影院| 伊人色综合久久天天网| 久久综合成人网| 久久亚洲国产午夜精品理论片| 久久久久久午夜成人影院| 久久99热这里只频精品6| 国产亚洲色婷婷久久99精品91| 久久超碰97人人做人人爱| av色综合久久天堂av色综合在| 久久久久亚洲AV综合波多野结衣 | 狠狠综合久久综合88亚洲| 日本亚洲色大成网站WWW久久 | 久久久久久亚洲精品不卡| 97久久精品人人澡人人爽| 亚洲狠狠综合久久| 欧美伊香蕉久久综合类网站|