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 }