• <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>
            心如止水
            Je n'ai pas le temps
            posts - 400,comments - 130,trackbacks - 0
            可以寫出方程ax+by=n,對于該題來說,首先有x>=0, y>=0;其次x要么盡量大,要么盡量小。
            以下是我的代碼:
            #include <iostream>
            #include 
            <cstdio>
            #include 
            <cmath>
            using namespace std;
            typedef 
            long long int64;

            int64 Gcd ( int64 a, int64 b )
            {
                
            for ( int64 t = a % b; t; a = b, b = t, t = a % b ); return b;
            }

            void ExpandGcd ( int64 a, int64 b, int64 &d, int64 &x, int64 &y )
            {
                
            if ( b ) { ExpandGcd ( b, a % b, d, y, x ); y -= a / b * x; }
                
            else { d = a; x = 1; y = 0; }
            }

            int main ( )
            {
            #ifndef ONLINE_JUDGE
                freopen ( 
            "data.in""r", stdin );
            #endif
                
                int64 n, n1, n2, c1, c2;
                int64 d, x0, y0, x1, y1, x2, y2, ansx, ansy;
                
            while ( cin >> n && n )
                {
                    cin 
            >> c1 >> n1 >> c2 >> n2;
                    
            //  Input
                    
                    d 
            = Gcd ( n1, n2 );
                    
            if ( n % d )
                    {
                        printf ( 
            "failed\n" );
                        
            continue;
                    }
                    
                    n 
            /= d; n1 /= d; n2 /= d;
                    ExpandGcd ( n1, n2, d, x0, y0 );
                    x0 
            *= n;
                    y0 
            *= n;
                    
                    int64 a 
            = (int64)ceil ( -(double)x0 / n2 ), b = (int64)floor ( (double)y0 / n1 );
                    
                    
            if ( a > b )
                    {
                        printf ( 
            "failed\n" );
                        
            continue;
                    }
                    
                    x1 
            = x0 + n2 * a;
                    y1 
            = y0 - n1 * a;
                    x2 
            = x0 + n2 * b;
                    y2 
            = y0 - n1 * b;
                    
                    
            if ( x1 * c1 + y1 * c2 < x2 * c1 + y2 * c2)
                    {
                        ansx 
            = x1;
                        ansy 
            = y1;
                    }
                    
            else
                    {
                        ansx 
            = x2;
                        ansy 
            = y2;
                    }
                    
            //  Solve
                    
                    cout 
            << ansx << " " << ansy <<endl;
                    
            //  Output
                }
                
                
            return 0;
            }
            posted on 2011-09-06 18:34 lee1r 閱讀(638) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:數學/數論
            亚洲精品白浆高清久久久久久| 国产精品欧美久久久天天影视| 精品久久国产一区二区三区香蕉| 大伊人青草狠狠久久| 国产一区二区精品久久岳| 性做久久久久久免费观看| 久久久久久久97| 日日狠狠久久偷偷色综合免费| 亚洲国产另类久久久精品| 久久线看观看精品香蕉国产| 久久激情亚洲精品无码?V| 亚洲午夜久久久影院| 久久99国产精品成人欧美| 精品国产乱码久久久久久人妻| 久久精品国产精品亚洲精品| 伊人久久成人成综合网222| 久久99精品国产麻豆| 日本五月天婷久久网站| 久久综合九色综合久99 | 久久―日本道色综合久久| 欧美久久综合九色综合| 国内精品久久人妻互换| 综合网日日天干夜夜久久 | 久久综合九色综合97_久久久| 亚洲伊人久久成综合人影院| 成人精品一区二区久久久| 婷婷伊人久久大香线蕉AV| 伊人久久大香线蕉无码麻豆| 久久综合综合久久97色| 国产精品视频久久久| 99久久这里只有精品| 色综合久久久久久久久五月| 久久天天躁狠狠躁夜夜躁2014| 午夜精品久久久久久| 伊人情人综合成人久久网小说| 久久综合伊人77777麻豆| 国产亚州精品女人久久久久久 | 久久艹国产| 久久本道综合久久伊人| 国产 亚洲 欧美 另类 久久| 97超级碰碰碰碰久久久久|