uva 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(规律推导)的更多相关文章
- HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)
Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 ——每天在线,欢迎留言谈论. 题目大意: 有如下方程:Ai = (Ai-1 ...
- 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的想 ...
- 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 ...
- hdu-1207(规律推导)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1207 思路: 可以按照类似汉诺塔的推导形式来推导, 首先,有四个柱子,a,b,c,d. (1)a的x个 ...
- uva 10479(找规律+递归)
题意:有一个初始序列第一个数字是0. 规律是把前一次推出来的每个数字x.先接x个0,然后接x+1. 0 –> 1 –> 02 –> 1003 –> 02110004 那么这个序 ...
- 紫书 习题 10-22 UVa 10479 (找规律)
自己一直在纠结这个串的构造方法 而没有观察串本身的规律-- 2的63次方用 unsigned long long 然后可以发现串是递归构造的. 将串分成1,1,2,4,8,16, 然后会发现s串里面1 ...
- NOIP模拟:饼干(简单规律推导)
题目描述 小美有一张很大的网格:2 n * 2 n .每次小美会选一个小矩阵 2 x * 2 x , x > 0,小矩阵不能超过网格的边界.然后把右上一半都放上饼干.下图是当 x=1或2 的时候 ...
- HDU1792A New Change Problem(GCD规律推导)
A New Change Problem Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 数学--数论--HDU1792A New Change Problem(GCD规律推导)
A New Change Problem Problem Description Now given two kinds of coins A and B,which satisfy that GCD ...
随机推荐
- [转]Delphi 中动态链接库(dll)的建立和使用
动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源.由于DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可 ...
- 微信小应用vs progressive-web-apps
https://developers.google.com/web/progressive-web-apps/
- 测试stopwatch频率
测试stopwatch频率 using UnityEngine; using System.Collections; using System.Diagnostics; public class te ...
- jQuery简单导航示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jquery 与其他库冲突解决方案
var j = jQuery.noConflict(); j("div p").hide(); // 基于 jQuery 的代码 $("content").st ...
- python模块中的特殊变量
37.模块的特殊变量: 显示模块中的变量 import s1 print(vars(s1)) 1.__doc__:打印注释信息. #!/usr/bin/env python # _ ...
- Python Django开始
1.创建工程 C:\procedure\projects>django-admin startproject mysite 2.同步数据库 C:\procedure\projects\mysit ...
- IOS快速开发之常量定义
---恢复内容开始--- 在IOS开发中,有一些方法常常需要用的,但是有很长的方法名,这造成了代码长,写起来累,我们可以通过宏定义了解决这些问题 比如说在代码布局的时候会遇上这样的问题,我们要获取上面 ...
- C# ORM—Entity Framework 之Code first(代码优先)(二)
一.Entity Framework Code first(代码优先)使用过程 1.1Entity Framework 代码优先简介 不得不提Entity Framework Code First这个 ...
- 尝试跑一跑Scut
前段时间都在用 IIS+WCF+Redis+MSSQL 的框架做服务器,前段时间看到了 Scut 的开源框架,整个架构还是蛮干净整洁的... 今天抓来跑一跑. 按照教程安装好所有的环境,版本是6.7. ...