记录编号 |
74362 |
评测结果 |
AAAAAA |
题目名称 |
饲料调配 |
最终得分 |
100 |
用户昵称 |
cstdio |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.057 s |
提交时间 |
2013-10-24 22:15:39 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int x[4]={0},y[4]={0},z[4]={0};
int x0,y0,z0;
void read(void){
scanf("%d%d%d",&x0,&y0,&z0);
int i;
for(i=1;i<=3;i++) scanf("%d%d%d",&x[i],&y[i],&z[i]);
}
bool check(int a,int b,int c){
int nx,ny,nz;
nx=x[1]*a+x[2]*b+x[3]*c;
ny=y[1]*a+y[2]*b+y[3]*c;
nz=z[1]*a+z[2]*b+z[3]*c;
//x0/nx==y0/ny==z0/nz
if(nx<x0) return false;
if(ny<y0) return false;
if(nz<z0) return false;
if((!(x0*nx))&&(x0+nx)) return false;
if((!(y0*ny))&&(y0+ny)) return false;
if((!(z0*nz))&&(z0+nz)) return false;
return x0*ny==y0*nx&&y0*nz==z0*ny;
}
int sum(int a,int b,int c){
int ans=0;
ans+=x[1]*a+x[2]*b+x[3]*c;
ans+=y[1]*a+y[2]*b+y[3]*c;
ans+=z[1]*a+z[2]*b+z[3]*c;
return ans;
}
int anss=0x7fffffff,ansa,ansb,ansc;
int main(){
freopen("ratios.in","r",stdin);
freopen("ratios.out","w",stdout);
read();
int a,b,c,s;
bool flag=false;
for(a=0;a<100;a++){
for(b=0;b<100;b++){
for(c=0;c<100;c++){
if(check(a,b,c)){
flag=true;
s=sum(a,b,c);
if(s<anss){
anss=s;
ansa=a;
ansb=b;
ansc=c;
}
}
}
}
}
if(flag) printf("%d %d %d %d\n",ansa,ansb,ansc,anss/(x0+y0+z0));
else printf("NONE\n");
return 0;
}