USACO 3.2 Feed Ratios(水)

枚举,写的代码搓。

 1 /*

 2     ID: cuizhe

 3     LANG: C++

 4     TASK: ratios

 5  */

 6 #include <cstdio>

 7 #include <cstring>

 8 #include <string>

 9 #include <math.h>

10 #include <queue>

11 using namespace std;

12 #define N 100000000

13 int p[5][5];

14 int main()

15 {

16     int i,j,k,a,b,c,d,ans;

17     freopen("ratios.in","r",stdin);

18     freopen("ratios.out","w",stdout);

19     for(i = 1; i <= 4; i ++)

20     {

21         for(j = 1; j <= 3; j ++)

22             scanf("%d",&p[i][j]);

23     }

24     ans = N;

25     for(i = 0; i <= 100; i ++)

26     {

27         for(j = 0; j <= 100; j ++)

28         {

29             for(k = 0; k <= 100; k ++)

30             {

31                 if((i*p[2][1]+j*p[3][1]+k*p[4][1])%p[1][1] == 0)

32                 {

33                     if(i == 0&&j == 0&&k == 0) continue;

34                     int t = (i*p[2][1]+j*p[3][1]+k*p[4][1])/p[1][1];

35                     if(i*p[2][2]+j*p[3][2]+k*p[4][2]==t*p[1][2]&&i*p[2][3]+j*p[3][3]+k*p[4][3]==t*p[1][3])

36                     {

37                         if(ans > i+j+k+t)

38                         {

39                             ans = i+j+k+t;

40                             a = i;

41                             b = j;

42                             c = k;

43                             d = t;

44                         }

45                     }

46                 }

47             }

48         }

49     }

50     if(ans == N)

51         printf("NONE\n");

52     else

53         printf("%d %d %d %d\n",a,b,c,d);

54     return 0;

55 }

你可能感兴趣的:(USACO)