• <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 閱讀(641) 評論(0)  編輯 收藏 引用 所屬分類: 題目分類:數學/數論
            久久久久久毛片免费播放| 精品国产乱码久久久久久人妻| 久久人人爽人人爽人人爽| 人人妻久久人人澡人人爽人人精品| 超级97碰碰碰碰久久久久最新| 久久国产精品99国产精| 久久伊人亚洲AV无码网站| 久久久久久国产a免费观看黄色大片 | 青青热久久国产久精品| 午夜人妻久久久久久久久| 免费一级欧美大片久久网 | 国产精品成人久久久久久久| 久久久久亚洲AV成人片| 7777精品久久久大香线蕉| 伊人久久大香线蕉无码麻豆| 日韩AV毛片精品久久久| 国产精品热久久无码av| 久久精品无码专区免费| 欧美国产成人久久精品| 亚洲国产精品一区二区三区久久| 日日狠狠久久偷偷色综合0| 四虎影视久久久免费观看| 国产69精品久久久久观看软件| 久久精品国产亚洲AV影院| 国产午夜免费高清久久影院| 久久精品亚洲精品国产欧美| 精品久久人人爽天天玩人人妻| 精品久久久久久亚洲精品 | 国产精品一区二区久久不卡| 国产精品久久一区二区三区| 欧美与黑人午夜性猛交久久久| 精品国产青草久久久久福利| 国产呻吟久久久久久久92| 久久久久久国产精品免费无码 | 国产精品久久国产精品99盘| 亚洲欧洲久久av| 国产真实乱对白精彩久久| 狠狠色丁香婷婷综合久久来| 青青草原精品99久久精品66| 伊人色综合久久天天人手人婷 | 亚洲国产成人久久综合区|