题目连接:317 - Hexagon

题目大意:在一个19个六边形组成的图形上玩一个游戏,给出9个数字, 分成3组, 分别可以填在左上角, 上, 有上角,因为对于小六边形来说, 对边的数是相同的, 然后这样9个数可以组成27个不同的小六边形, 现在要将在这27个小的六边形中选取19个填入图形中, 尽量使得的分最高,并且不可以重复使用小六边形。 得分的计算是对应图形的某一方向上, 如果这个方向的所有小六边形的边的数值相同, 得分就等于  边的数值 * 该方向的个数。

解题思路:因为总共有27个六边形, 而且各个之间不相同。 然后对应图形可以分成15 个得分方向, 每5 个方向可以分成一组, 对应上面的3组数字, 对应方向得分为  3 4 5 4 3, 要将三个数值填在这5 个位置, 使得得分尽量高。

对应三个数字  a, b , c, 根据六边形的个数, 以及三个面的关系, 8 7 5 的方式是得分最高的。

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define N 5
int n, Max, num[N][N];
const int yes[N] = {5, 6, 8};
const int no[N] = {5, 7, 7}; int main(){
scanf("%d", &n);
for (int t = 1; t <= n; t++){
// Init.
memset(num, 0, sizeof(num));
Max = 0; // Read.
for (int i = 1; i <= 3; i++){
for (int j = 0; j < 3; j++)
scanf("%d", &num[i][j]);
sort(num[i], num[i] + 3);
} // Handle.
for (int k = 0; k <= 3; k++){
int sum = 0;
for (int i = 1; i <= 3; i++){
if (i == k){
for (int j = 0; j < 3; j++)
sum += num[i][j] * yes[j];
}
else{
for (int j = 0; j < 3; j++)
sum += num[i][j] * no[j];
}
}
if (sum > Max)
Max = sum;
} printf("Test #%d\n%d\n\n", t, Max);
}
return 0;}

uva 317 - Hexagon(规律推导)的更多相关文章

  1. HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 ——每天在线,欢迎留言谈论. 题目大意: 有如下方程:Ai = (Ai-1 ...

  2. UVA 1363 Joseph's Problem 找规律+推导 给定n,k;求k%[1,n]的和。

    /** 题目:Joseph's Problem 链接:https://vjudge.net/problem/UVA-1363 题意:给定n,k;求k%[1,n]的和. 思路: 没想出来,看了lrj的想 ...

  3. GCD XOR UVA 12716 找规律 给定一个n,找多少对(a,b)满足1<=b<=a<=n,gcd(a,b)=a^b;

    /** 题目:GCD XOR UVA 12716 链接:https://vjudge.net/problem/UVA-12716 题意:给定一个n,找多少对(a,b)满足1<=b<=a&l ...

  4. hdu-1207(规律推导)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1207 思路: 可以按照类似汉诺塔的推导形式来推导, 首先,有四个柱子,a,b,c,d. (1)a的x个 ...

  5. uva 10479(找规律+递归)

    题意:有一个初始序列第一个数字是0. 规律是把前一次推出来的每个数字x.先接x个0,然后接x+1. 0 –> 1 –> 02 –> 1003 –> 02110004 那么这个序 ...

  6. 紫书 习题 10-22 UVa 10479 (找规律)

    自己一直在纠结这个串的构造方法 而没有观察串本身的规律-- 2的63次方用 unsigned long long 然后可以发现串是递归构造的. 将串分成1,1,2,4,8,16, 然后会发现s串里面1 ...

  7. NOIP模拟:饼干(简单规律推导)

    题目描述 小美有一张很大的网格:2 n * 2 n .每次小美会选一个小矩阵 2 x * 2 x , x > 0,小矩阵不能超过网格的边界.然后把右上一半都放上饼干.下图是当 x=1或2 的时候 ...

  8. HDU1792A New Change Problem(GCD规律推导)

    A New Change Problem Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  9. 数学--数论--HDU1792A New Change Problem(GCD规律推导)

    A New Change Problem Problem Description Now given two kinds of coins A and B,which satisfy that GCD ...

随机推荐

  1. Swift - 21 - 字典实战和UIKit初探

    //: Playground - noun: a place where people can play import UIKit // 数据源 let colors = [ "Air Fo ...

  2. C++中L和_T()之区别(转)

    C++中L和_T()之区别 分类: C/C++2011-01-12 11:45 2878人阅读 评论(1) 收藏 举报 c++编译器apic 字符串前面加L表示该字符串是Unicode字符串._T是一 ...

  3. MYSQL :逗号分隔串表,分解成竖表

    DROP TEMPORARY TABLE IF EXISTS Temp_Num ; CREATE TEMPORARY TABLE Temp_Num ( xh INT PRIMARY KEY ); -- ...

  4. windows phone使用sharpcompress进行解压压缩文件

    在做移动端时,当我们需要从服务器获得多个文件时,为了节约流量,服务器一般会返回一个压缩包,那我们就是下载完成后,在手机中进行解压到指定位置 SharpCompress就是可以在手机中进行解压一个类库( ...

  5. Mysql 源码编译教程贴

    题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环 ...

  6. 富文本web编辑器(UEditor)

    展示效果:

  7. django 内建标签和过滤器参考

    下面的标签和过滤器参考就是为那些没有 admin 站点的可用的人准备的.由于 Django 是高度可定制的,你的 admin 里的关于标签和过滤器的参考可以认为是最可信的. 内建标签参考 block ...

  8. winform 绘制label 中文字 - 摘

    private void label2_Paint(object sender, PaintEventArgs e) {//绘制label中文字 string text = "Sri Lan ...

  9. Linux bash重拾 2016-8-16

    bash支持的引号: "" 双引号:弱引用,可以实现变量替换(变量会替换为值) [root@localhost ssh-6Xolw4LLAMwe]# echo "dire ...

  10. springboot工程读取配置文件application.yml的写法

    现在流行springboot框架的项目,里面的默认配置文件为application.yml,我们怎样读取这个配置文件呢? 先贴上我得配置文件吧 目录结构 里面内容 1 写读取配置文件的工具类 @Con ...