I Wanna Become A 24-Point Master

Time Limit: 2000/1000 MS (Java/Others)    Memory
Limit: 65536/65536 K (Java/Others)

Total Submission(s): 485    Accepted Submission(s): 191

Special Judge

Problem Description
Recently Rikka falls in love with an old but interesting game -- 24 points. She wants to become a master of this game, so she asks Yuta to give her some problems to practice.



Quickly, Rikka solved almost all of the problems but the remained one is really difficult:



In this problem, you need to write a program which can get 24 points with 

rev=2.4-beta-2" alt="" style=""> numbers,
which are all equal to .

 
Input
There are no more then 100 testcases and there are no more then 5 testcases with 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">.
Each testcase contains only one integer 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

 
Output
For each testcase:



If there is not any way to get 24 points, print a single line with -1.



Otherwise, let  be
an array with 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style=""> numbers
and at firsrt 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">.
You need to print  lines
and the th
line contains one integer ,
one char  and
then one integer c, where 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style=""> and  is
"+","-","*" or "/". This line means that you let  and  do
the operation 

rev=2.4-beta-2" alt="" style=""> and
store the answer into 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">.



If your answer satisfies the following rule, we think your answer is right:



1. 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">



2. Each position of the array  is
used at most one tine.



3. The absolute value of the numerator and denominator of each element in array 

rev=2.4-beta-2" alt="" style=""> is
no more than 

rev=2.4-beta-2" alt="" style="">

rev=2.4-beta-2" alt="" style="">

 
Sample Input
4
 
Sample Output
1 * 2
5 + 3
6 + 4
 
Source
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <algorithm>
using namespace std;
int N;
int main()
{
while(scanf("%d", &N)!=EOF)
{
if(N == 1 || N == 2 || N == 3 ) printf("-1\n");
else if(N == 4)
{
printf("1 * 2\n");
printf("5 + 3\n");
printf("6 + 4\n");
}
else if(N == 5)
{
printf("1 * 2\n");//6 25
printf("3 * 6\n");//7 125
printf("7 - 4\n");//8 120
printf("8 / 5\n");//9 24
}
else if(N == 6)
{
printf("1 * 2\n");//7 36
printf("7 - 3\n");//8 30
printf("8 - 4\n");//9 24
printf("9 + 5\n");//10 30
printf("10 - 6\n");//11 24
}
else if(N == 7)
{
printf("1 / 2\n");//8 1
printf("3 + 8\n");//9 8
printf("4 + 5\n");//10 14
printf("10 + 6\n");//11 21
printf("11 / 7\n");//12 3
printf("12 * 9\n");//13 24
}
else if(N == 8)
{
printf("1 + 2\n");//9 16
printf("3 + 9\n");//10 24
printf("4 - 5\n");//11 0
printf("11 * 6\n");//12 0
printf("12 * 7\n");//13 0
printf("13 * 8\n");//14 0
printf("14 + 10\n");//15 24
}
else if(N == 9)
{
printf("1 + 2\n");//10 18
printf("10 + 3\n");//11 27
printf("11 * 4\n");//12 243
printf("12 / 5\n");//13 27
printf("6 + 7\n");//14 18
printf("14 + 8\n");//15 27
printf("15 / 9\n");//16 3
printf("13 - 16\n");//17 24
}
else if(N == 10)
{
printf("1 + 2\n");//11 20
printf("3 + 4\n");//12 20
printf("12 + 5\n");//13 30
printf("13 + 6\n");//14 40
printf("14 / 7\n");//15 4
printf("11 + 15\n");//16 24
printf("8 - 9\n");//17 0
printf("17 / 10\n");//18 0
printf("16 + 18\n");//19 24
}
else if(N == 11)
{
printf("1 + 2\n");//12 22
printf("12 / 3\n");//13 2
printf("13 + 4\n");//14 13
printf("14 + 5\n");//15 24
printf("15 + 6\n");//16 35
printf("16 + 7\n");//17 46
printf("17 + 8\n");//18 57
printf("18 - 9\n");//19 46
printf("19 - 10\n");//20 35
printf("20 - 11\n");//21 24
}
else if(N >= 12 && N % 2 == 0)
{
printf("1 + 2\n");//N+1 2*N
printf("%d + 3\n",N+1);//N+2 3*N
printf("4 + 5\n");//N+3 2*N
printf("%d + 6\n",N+3);//N+4 3*N
printf("%d + 7\n",N+4);//N+5 4*N
printf("8 + 9\n");//N+6 2*N
printf("%d / 10\n",N+2);//N+7 3
printf("%d / 11\n",N+5);//N+8 4
printf("%d / 12\n",N+6);//N+9 2
printf("%d * %d\n",N+7,N+8);//N+10 12
printf("%d * %d\n",N+9,N+10);//N+11 24
for(int i=0;i<(N-12)/2;i++)
{
printf("%d + %d\n",N+11+2*i,13+i*2);//N+12+2*i
printf("%d - %d\n",N+12+2*i,14+i*2);//N+13+2*i
}
}
else if(N>=13 && N % 2 == 1)
{
printf("1 + 2\n");//N+1 2*N
printf("%d + 3\n",N+1);//N+2 3*N
printf("4 + 5\n");//N+3 2*N
printf("%d + 6\n",N+3);//N+4 3*N
printf("%d + 7\n",N+4);//N+5 4*N
printf("%d + 8\n",N+5);//N+6 5*N
printf("%d + 9\n",N+6);//N+7 6*N
printf("%d + 10\n",N+7);//N+8 7*N
printf("%d + 11\n",N+8);//N+9 8*N
printf("%d / 12\n",N+2);//N+10 3
printf("%d / 13\n",N+9);//N+11 8
printf("%d * %d\n",N+10,N+11);//N+12 24
for(int i=0;i<(N-13)/2;i++)
{
printf("%d + %d\n",N+12+2*i,14+i*2);//N+13+2*i
printf("%d - %d\n",N+13+2*i,15+i*2);//N+14+2*i
} }
}
}


HDU 5308 I Wanna Become A 24-Point Master(2015多校第二场)的更多相关文章

  1. hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语

    题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=44 题意:给你n个n,如果能在n-1次运算之后(加减乘除)结果为24的输出n-1次运算的过程,如果不能输 ...

  2. hdu 5305 Friends(2015多校第二场第6题)记忆化搜索

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5305 题意:给你n个人,m条关系,关系可以是online也可以是offline,让你求在保证所有人on ...

  3. hdu 5301 Buildings (2015多校第二场第2题) 简单模拟

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5301 题意:给你一个n*m的矩形,可以分成n*m个1*1的小矩形,再给你一个坐标(x,y),表示黑格子 ...

  4. HDU 5301 Buildings(2015多校第二场)

    Buildings Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tota ...

  5. HDU 5303 Delicious Apples (2015多校第二场 贪心 + 枚举)

    Delicious Apples Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Other ...

  6. hdu 5742 It's All In The Mind(2016多校第二场)

    It's All In The Mind Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  7. HDU 5308 I Wanna Become A 24-Point Master

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5308 题面: I Wanna Become A 24-Point Master Time Limit ...

  8. 2015多校联合训练赛 hdu 5308 I Wanna Become A 24-Point Master 2015 Multi-University Training Contest 2 构造题

    I Wanna Become A 24-Point Master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 ...

  9. 2015 Multi-University Training Contest 2 hdu 5308 I Wanna Become A 24-Point Master

    I Wanna Become A 24-Point Master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 ...

随机推荐

  1. Spring Data Redis整体介绍 (一)

    为什么使用Spring Data Redis 首先Spring Data Redis 是Spring 框架提供的用于操作Redis的客户端. Spring框架是一个全栈Java程序框架,通过DI.AO ...

  2. Linux内核0.11体系结构 ——《Linux内核完全注释》笔记打卡

    0 总体介绍 一个完整的操作系统主要由4部分组成:硬件.操作系统内核.操作系统服务和用户应用程序,如图0.1所示.操作系统内核程序主要用于对硬件资源的抽象和访问调度. 图0.1 操作系统组成部分 内核 ...

  3. atom 安装插件列表

    插件列表 atom-beautify docblockr autocomplete-python goto-definition platformio-ide-terminal symbols-tre ...

  4. 基础知识:if条件、while循环、for循环 相关练习

    1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败! while True: name = input('请输入用户名:') psw = inpu ...

  5. python while、continue、break

    while循环实现用户登录 _user = "tom" _passwd = "abc123" counter = 0 while counter < 3: ...

  6. 建仓类型与对应建仓价MT4

    建仓类型与对应建仓价 (Bid,Ask) 建仓类型 对应建仓价 Buy Ask+Spread Sell Bid-Spread BuyLimit Ask-Spread-StopLevel SellLim ...

  7. python接口自动化测试(一)

    本节开始,开始介绍python的接口自动化测试,首先需要搭建python开发环境,到https://www.python.org/下载python 版本直接安装就以了,建议 下载python2.7.1 ...

  8. BNUOJ 5363 Machine Schedule

    Machine Schedule Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Origin ...

  9. BNUOJ 9870 Contestants Division

    Contestants Division Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALiv ...

  10. SQL Server-索引管理

    http://www.2cto.com/database/201305/207508.html SQL Server-索引管理   一.显示索引信息 在建立索引后,可以对表索引信息进行查询. (1)在 ...