首页 > 其他 > 详细

1384. 饲料调配

时间:2021-06-18 09:24:03      阅读:20      评论:0      收藏:0      [点我收藏+]

枚举。每种饲料的份数取值为\(0 \sim 100\),时间复杂度为\(O(101^3)\)

int g[3];
int a[3][3];

int main()
{
    for(int i = 0; i < 3; i++) cin >> g[i];
    if(g[0] + g[1] + g[2] == 0) puts("0 0 0 0");
    else
    {
        for(int i = 0; i < 3; i++)
            for(int j = 0; j < 3; j++)
                cin >> a[i][j];
        
        int sum = 301;
        int ans[4] = {0};
        for(int i = 0; i <= 100; i++)
            for(int j = 0; j <= 100; j++)
                for(int k = 0; k <= 100; k++)
                {
                    if(i + j + k == 0) continue;
                    int s[3] = {0};
                    for(int l = 0; l < 3; l++)
                        s[l] = i * a[0][l] + j * a[1][l] + k * a[2][l];
                    
                    int t = (s[0] + s[1] + s[2]) / (g[0] + g[1] + g[2]);
                    if(s[0] == t * g[0] && s[1] == t * g[1] && s[2] == t * g[2] && i + j + k < sum)
                    {
                        sum = i + j + k;
                        ans[0] = i, ans[1] = j, ans[2] = k, ans[3] = t;
                    }
                }
        
        if(sum > 300) puts("NONE");
        else 
        {
            for(int i = 0; i < 4; i++)
                cout << ans[i] << ‘ ‘;
            cout << endl;
        }
    }
}

1384. 饲料调配

原文:https://www.cnblogs.com/fxh0707/p/14897748.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!