hdu5308 I Wanna Become A 24-Point Master(构造)
题目: pid=5308" target="_blank">http://acm.hdu.edu.cn/showproblem.php? pid=5308
题意:给定N个N,求出将这N个N构造成24的方法。
分析:要是想到用尽量少的N构造出24点((N+N)/N * (N+N)/N * (N+N)/N
* (N*N+N)/N)。然后把多的N构造成0就好办了((N-N)*N*.....)。
代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std; void _15(int n)
{
printf("1 + 2\n");//n+1
printf("4 + 5\n");//n+2
printf("7 + 8\n");//n+3
printf("10 + 11\n");//n+4
printf("%d + 12\n",n+4);//n+5
printf("%d / 3\n",n+1); // n+6 2
printf("%d / 6\n",n+2);//n+7 2
printf("%d / 9\n",n+3);//n+8 2
printf("%d / 13\n",n+5);//n+9 3
printf("14 - 15\n");//n+10 0
int c=n+10;
for(int i=16;i<=n;i++)
{
printf("%d * %d\n",c,i);
c++;
}
printf("%d * %d\n",n+6,n+7); //c+1
printf("%d * %d\n",n+8,c+1); //c+1
printf("%d * %d\n",c+2,n+9);
printf("%d + %d\n",c+3,c);
}
void _14()
{
int s1[100]={1,15,16,17,18,7,9,11,20,21,22,25,26};
int s2[100]={2,3,4,5,6,8,10,12,13,14,19,23,24};
char op[100]="-****+++//+--";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
}
void _13()
{
int s1[100]={1,4,7,10,17,14,15,16,18,19,21,23};
int s2[100]={2,5,8,11,12,3,6,9,13,20,22,24};
char op[100]="+++++////***";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
} void _12()
{
int s1[100]={1,3,5,7,9,11,13,15,17,19,21};
int s2[100]={2,4,6,8,10,12,14,16,18,20,22};
char op[100]="-----++++++";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
}
void _11()
{
int s1[100]={1,12,13,14,15,7,17,9,18,19};
int s2[100]={2,3,4,5,6,8,16,10,11,20};
char op[100]="-****+++/+";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
} void _10()
{
int s1[100]={1,11,4,6,8,13,14,15,17};
int s2[100]={2,3,5,7,9,10,12,16,18};
char op[100]="-++++//++";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
}
void _9()
{
int s1[100]={1,3,4,11,6,8,15,13};
int s2[100]={2,10,5,12,7,14,9,16};
char op[100]="++-+++/-";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
}
void _8()
{
int s1[100]={1,9,10,11,12,13,14};
int s2[100]={2,3,4,5,6,7,8};
char op[100]="-***+++";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
}
void _7()
{
int s1[100]={1,3,4,6,11,12};
int s2[100]={2,8,5,10,7,9};
char op[100]="++++/+";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
}
void _6()
{
int s1[100]={1,3,7,5,9};
int s2[100]={2,4,8,6,10};
char op[100]="+++-+";
for(int i=0;op[i];i++)
printf("%d %c %d\n",s1[i],op[i],s2[i]);
}
void _5()
{
printf("1 * 2\n");
printf("6 * 3\n");
printf("7 - 4\n");
printf("8 / 5\n");
}
void _4()
{
printf("1 * 2\n");
printf("5 + 3\n");
printf("6 + 4\n");
} int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n>=15)
_15(n);
else if(n==14)
_14();
else if(n==13)
_13();
else if(n==12)
_12();
else if(n==11)
_11();
else if(n==10)
_10();
else if(n==9)
_9();
else if(n==8)
_8();
else if(n==7)
_7();
else if(n==6)
_6();
else if(n==5)
_5();
else if(n==4)
_4();
else
printf("-1\n");
}
return 0;
}
hdu5308 I Wanna Become A 24-Point Master(构造)的更多相关文章
- Kubeadm搭建高可用(k8s)Kubernetes v1.24.0集群
文章转载自:https://i4t.com/5451.html 背景 Kubernetes 1.24新特性 从kubelet中移除dockershim,自1.20版本被弃用之后,dockershim组 ...
- Codeforces Round #268 (Div. 1) A. 24 Game 构造
A. 24 Game Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/468/problem/A D ...
- Puppet自动化部署-前期环境准备(2)
在安装Puppet环境之前需要配置好机器的基本配置,如规范网络地址IP.hostname,certname认证名称,ntp时间同步等配置完毕,完善的搭建自动化环境. 1.环境介绍 此处实现部署的环境是 ...
- MySQL MMM高可用方案
200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍搭建MMM方案以及MMM架构的原理.这里不介绍主从.主主的搭建方 ...
- MySQL 第一篇
一.MySQL介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数 ...
- NIS域配置详解
一.前期准备1.1 NIS 简介NIS,英文的全称是network information service,也叫yellow pages.在Linux中,NIS是一个基于RPC的client/serv ...
- salt-master 的配置文件详解
绑定的地址: interface: 0.0.0.0 master和minion通信端口: publish_port: 4505 可以使用的文件描述符:(每个minion连接master至少需要一个文件 ...
- dns 服务器配置
1.安装 named 2.配置如下文件: /etc/named.conf // 2 // named.conf 3 // 4 // Provided by Red Hat bind package t ...
- C#_MySql 主从复制
一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案 ...
随机推荐
- [HAOI2007][SDOI2005]反素数
题目:洛谷P1463.BZOJ1053.Vijos P1172.codevs2912. 题目大意:对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g ...
- win10如何设置开机自动启动热点WIFI?
1.编写脚本文件(先新建txt文件,编写代码内容netsh wlan start hostednetwork,最后重命名成HotSpot.bat):文件名称:HotSpot.bat,代码内容: net ...
- 如何解决本地仓库和远程仓库的冲突(Conflict)
Background: 我有一个github仓库管理我的代码,我将这个仓库的代码clone到我的工作电脑和私人电脑本地方便我上班和在家时都可以对我的代码进行更新. 一天,我在家修改过代码之后并未提交, ...
- Opencv Mat的三种常用类型简介
本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/47683127 本文主要介绍Opencv ...
- Java中发送http的get、post请求
近期做项目中,须要把消息通过中间件的形式通过http请求的方式推送给第三方,因此用到了http协议,小编花费了一个多小时.对于http协议中的post和get请求,封装了一个工具类.以下与大家分享一下 ...
- java 究竟老年代和年轻代的比例为多大合适呢?
眼下我还没有这方面过多的经验,和切身体会 只是以我眼下的水平看来,年轻代不宜大,假设年轻代大会导致转为老年代的时候,老年代撑不下.导致full gc.回收停顿时间过长
- Metasploit - Tips for Evading Anti-Virus
绕过杀毒软件,有很多钟方法.此处介绍一种,编写python程序调用shellcode,并使用Pyinstaler将python程序编译为exe程序. 准备工作:(Windows XP环境下编译) 将P ...
- 数据库中的Convert
https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql Conversion failed ...
- 是时候抛弃web.xml了?
你是否再为配置文件web.xml容易出错而烦恼?是否为web.xml文件存放位置而不知所措?是否为web.xml为什么要这样配?怎么才能更好的配置web.xml而烦恼?那么一种新的方式出现了: spr ...
- android文本排布
首先看一幅图,是简书App的一篇文章的截图,如下: 图1,图2 上面两个图片都是文本的显示,但是由于有多种格式,所以较为复杂,例如其中有普通文本,还有加粗的文本,还有图文混排的显示等等. 一.解析HT ...