#include<stdio.h>
int step[99][99];
int sum;
int min=999999;
int cas; int N;
int H; int V;
int C1;
int R1;
 int M1;
int C2;
int R2;
int M2;
int ans[15];
int bu[15];
int ju[15];
void ji(int n)
{
int i;
 int j;
int a;
for(i=0;i<H;i++)
 {
 sum=0;
  for(j=0;j<i;j++)
   {
 sum=sum+C1*step[n][j];
    }
 if(sum>min)
 continue;
 for(a=j;a<H;a++)
 {
sum=sum+C2*step[n][a];
 }
 if(sum>min)
continue;
if(H-1-i-i==0||H-1-i-i==-1||H-1-i-i==1)
 {
if(min>sum)
{
 min=sum;
  }
 }
 else
 {
 if(H-1-i-i>0)
   sum=sum+(H-1-i-i)*R2;
   else
 sum=sum-(H-1-i-i)*R1;
  if(min>sum)
 {
min=sum;
 }
}

}
}
void qu(int a,int st)
{
if(st==N)
{
 sum=0;
for(int i=0;i<N;i++)
   sum=sum+bu[i];
 for(int i=0;i<=N-2;i++)
 sum=sum+(M1*M1+M2*M2)*(ju[i+1]-ju[i]);
  if(min>sum)
 {
 min=sum;
 }
 return;
}
for(int i=a;i<V;i++)
 {
ju[st]=i;
 bu[st]=ans[i];
 qu(i+2,st+1);
 }
}
int main()
{  freopen("in.txt","r",stdin);
  int o=1;
  int r;
 scanf("%d",&cas);
  while(o!=cas+1)
 {
scanf("%d%d%d",&N,&H,&V);
   for(int i=0;i<V;i++)
{
for(int j=0;j<H;j++)
   {
  scanf("%d",&step[i][j]);
 }
}
scanf("%d%d%d",&C1,&R1,&M1);
  scanf("%d%d%d",&C2,&R2,&M2);
 for(int a=0;a<V;a++)
{
min=999999;
ji(a);
  ans[a]=min;
 r=a;
}
 if(r==0)
{
printf("Case #%d\n",o);
  printf("%d\n",min);
}
else
{
 qu(0,0);
 printf("Csae #%d\n",o);
  printf("%d\n",min);
 }
o++;

 }
 return 0;
 }

ADV-caikuang的更多相关文章

  1. adv

    1. 对产品质量的认知理念,不仅是是确保没问题,而是通过自身与团队的价值提升产品的质量.潜在问题,竞类产品用户体验,bug产生分析图,流程控制 2. 责任心特质,正能量,热情激情,并且能感染团队成员和 ...

  2. 尽量不要用ad,adv···,advertisement 这些关键词命名

    html dom,文件夹名称,文件名称·······,都尽量不用ad,adv···,advertisement  这些关键词! 为嘛呢? 因为会被浏览器的广告插件自动给屏蔽掉. 我的网站中有一个广告管 ...

  3. 利用ORACLE ADV 功能完成SQL TUNING 调优(顾问培训) “让DBA失业还是解脱?”

    oracle自动判断SQL性能功能. 11G的ADV,建议.SNAPSHOT,数据集合, 存储在oracle sys $_开头的表(10几条).  创建SNAPSHOT时选择天数, 默认14天. sq ...

  4. Ubuntu上64位adv无法创建问题

    Ubuntu上安装android开发环境,前面都成功了,但到了最后创建adv的时候却总是失败. 出现了这个问题.最后,上网找了这个教程http://blog.sina.com.cn/s/blog_66 ...

  5. adv生成控制器手腕位置倾斜原因以及解决方案

    系统默认问题导致手腕倾斜详情描述: 手腕部分默认生成轴向是冲向模板下一层级第一个物体  简单说就是 FK轴向冲向模板中指方向 如图 默认模板没问题是因为  默认模板没有改动情况下系统中指与手腕在一条直 ...

  6. 试图ddms 如果丢失adv链接解决办法!

    点击如下图菜单 重启链接adv即可显示.

  7. adv钓鱼题

    4 10 4 5 6 2 10 2 10 4 5 6 2 10 2 60 1 20 29 20 50 20 60 1 20 20 20 60 20 #include<iostream> u ...

  8. adv联系题

    http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html(新)

  9. ADV数字的剪切

    #include <iostream> using namespace std; #define SIZE 9 #define MAXLEN 6 int data[SIZE][MAXLEN ...

  10. apt-key adv

    gpg --recv-keys KEY-ID                gpg --armor --export KEY-ID | sudo apt-key add - http://m.blog ...

随机推荐

  1. Mysql技术内幕(第四版)读书笔记(一)

    题记:写代码已经有2年了,学到了很多知识,但是没有一个好习惯去记录,去分享,好多知识点都会忘记,所以从今天开始学着像大牛一样去记录自己经历项目的点点滴滴,先从最近读<Mysql技术内幕>开 ...

  2. 小知识:Python函数传递变长

    先来实践一把: def f1(*args): print(args) f1(1,2,3,4) 得出:(1, 2, 3, 4) ----- 是一个元祖 Part 1: *args可以传递任意多的数,ar ...

  3. Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识

    本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  4. json---简单入门

    1.推荐使用第三种方式JAVABEAN的方式(使用前引入org.json) package day05; import java.util.HashMap; import java.util.Map; ...

  5. C# 标准差计算

    if (numberList.Any()) { exEntity.MinValue = numberList.First().NumberValue.ToString(); exEntity.MaxV ...

  6. java 中 ArrayList LinkedList Vector 三者的异同点

    1.ArrayList和Vector都是基于数组实现的,所以查询速度很快,增加和删除(非最后一个节点)速度慢: Vector是线程安全的,ArrayList不是. 2.LinkedList 是一个双向 ...

  7. python 字符编码 转换

    #!/bin/env python#-*- encoding=utf8 -*-# 文件头指定utf8编码还是乱码时,使用下面方式指定# fix encoding problem import sys ...

  8. 1.1. 如何使用XproerUI库

    项目类型:MFC   XproerUI结构: 3rd                    第三方库目录   cximage     dll                编译的DLL目录   pug ...

  9. SQL Server类型的对应关系

    bit bool tinyint byte smallint short int int bigint long real float float double money decimal datet ...

  10. (C语言)数组与指针的区别

    以前常常听过这种说法,说数组和指针这两者比较像,但是不能混淆,可是一直没能理解.刚刚在李云的<专业嵌入式软件开发>中,看了讲述数组与指针区别的一章,似乎有所领悟.本着知乎上看到的这张图,我 ...