[usaco3.2.4]ratios

  题目传送门:http://www.nocow.cn/index.php/Translate:USACO/ratios

  这道题也是直接枚举。。。

  

/*
ID:abc31261
LANG:C++
TASK:ratios
*/

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int a[5][5];
int main()
{
    int i,j,l,k,p,ansmin=0x7f,ansfen,ans[5],count[4],sum[4],num[4];
    bool flag=false;
    freopen("ratios.in","r",stdin);
    freopen("ratios.out","w",stdout);
    for (i=0;i<=3;i++)scanf("%d%d%d",&a[i][1],&a[i][2],&a[i][3]);
    for (num[1]=0;num[1]<=100;num[1]++)
        for (num[2]=0;num[2]<=100;num[2]++)
            for (num[3]=0;num[3]<=100;num[3]++)
            {
                memset(count,0,sizeof(count));
                memset(sum,0,sizeof(sum));
                for (k=1;k<=3;k++)
                    for (p=1;p<=3;p++)sum[p]+=num[k]*a[k][p];
                sum[0]=sum[1]+sum[2]+sum[3];
                for (k=1;k<=3;k++)
                    if (sum[k]%a[0][k]==0 && a[0][k]!=0)count[k]=sum[k]/a[0][k];
                if (count[1]==count[2] && count[2]==count[3] && (count[1]!=0||count[2]!=0||count[3]!=0) && sum[0]<ansmin)
                {
                   flag=true;
                   memcpy(ans,num,sizeof(num));
                   ansfen=count[1];
                   ansmin=sum[0];
                }
            }
    if (flag)printf("%d %d %d %d\n",ans[1],ans[2],ans[3],ansfen);
       else printf("none\n");
    return 0;
}
                    

 

转载于:https://www.cnblogs.com/Sun-Sea/p/5143764.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值