洛穀P2729 飼料調配 Feed Ratios

來源:互聯網
上載者:User

標籤:

P2729 飼料調配 Feed Ratios

  •  
  • 36通過
  • 103提交
  • 題目提供者該使用者不存在
  • 標籤USACO
  • 難度普及/提高-

 提交  討論  題解  

最新討論

  • 暫時沒有討論

題目背景

農夫約翰從來只用調配得最好的飼料來喂他的奶牛。飼料用三種原料調配成:大麥,燕麥和小麥。他知道自己的飼料精確的配比,在市場上是買不到這樣的飼料的。他只好購買其他三種混合飼料(同樣都由三種麥子組成),然後將它們混合,來調配他的完美飼料。

題目描述

給出三組整數,表示 大麥:燕麥:小麥 的比例,找出用這三種飼料調配 x:y:z 的飼料的方法。

例如,給出目標飼料 3:4:5 和三種飼料的比例:

1:2:3 3:7:1 2:1:2 你必須編程找出使這三種飼料用量最少的方案,要是不能用這三種飼料調配目標飼料,輸出“NONE”。“用量最少”意味著三種飼料的用量(整數)的和必須最小。

對於上面的例子,你可以用8份飼料1,1份飼料2,和5份飼料3,來得到7份目標飼料:

8*(1:2:3) + 1*(3:7:1) + 5*(2:1:2) = (21:28:35) = 7*(3:4:5)

表示飼料比例的整數以及目標飼料的都是小於100的非負整數。表示各種飼料的份數的整數,都小於100。一種混合物的比例不會由其他混合物的比例直接相加得到。

輸入輸出格式

輸入格式:

Line 1: 三個用空格分開的整數,表示目標飼料

Line 2..4: 每行包括三個用空格分開的整數,表示農夫約翰買進的飼料的比例

輸出格式:

輸出檔案要包括一行,這一行要麼有四個整數,要麼是“NONE”。前三個整數表示三種飼料的份數,用這樣的配比可以得到目標飼料。第四個整數表示混合三種飼料後得到的目標飼料的份數。

輸入輸出範例

輸入範例#1

3 4 5

1 2 3

3 7 1

2 1 2

輸出範例#1

8 1 5 7

說明

題目翻譯來自NOCOW。

USACO Training Section 3.2

分析:剛開始沒有頭緒,但是看到都不超過100,就能想到這是枚舉,因為只有三種飼料,那麼枚舉這三種飼料的數量,然後計算比例,如果發現一個比例和其他的比例不一樣,那麼就跳過,如果需求為0,則不能直接除,要特殊處理.

 

#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int a[5], b[5], c[5], ta, tb, tc,bi;int main(){    scanf("%d%d%d", &a[0], &b[0], &c[0]);    for (int i = 1; i <= 3; i++)        scanf("%d%d%d", &a[i], &b[i], &c[i]);    for (int i = 0; i < 100; i++)        for (int j = 0; j < 100; j++)            for (int k = 0; k < 100; k++)            {        ta = i * a[1] + j * a[2] + k * a[3];        tb = i * b[1] + j * b[2] + k * b[3];        tc = i * c[1] + j * c[2] + k * c[3];        bi = 0;        if (a[0] != 0)            bi = ta / a[0];        if (b[0] != 0)            if (bi == 0)                bi = tb / b[0];            else                if (bi != tb / b[0])                    continue;        if (c[0] != 0)            if (bi == 0)                bi = tc / c[0];            else                if (bi != tc / c[0])                    continue;        if (bi != 0 && a[0] * bi == ta && b[0] * bi == tb && c[0] * bi == tc)        {            printf("%d %d %d %d\n", i, j, k,bi);            return 0;        }            }    printf("NONE\n");    return 0;}

 

洛穀P2729 飼料調配 Feed Ratios

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.