hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语
来源:互联网 发布:ubuntu 16.04下载qq 编辑:程序博客网 时间:2024/05/16 18:11
题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=44
题意:给你n个n,如果能在n-1次运算之后(加减乘除)结果为24的输出n-1次运算的过程,如果不能输出-1。
思路:乍看起来,没什么规律,但是可以想象的是(n+n+n+n)/n=4,(n+n+n+n+n+n)/n=6,(n-n)*n*n*·····*n=0所以在n大于15的时候结果基本是固定的,只要对小于15的数一一输出就行(但是这题真是无语,算这种题目真是累,脑洞啊~~)
代码:
#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <iostream>#include <queue>#include <algorithm>#include <vector>using namespace std;#define LL __int64int main(){ int n,i; while(~scanf("%d",&n)) { if(n<4) 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"); printf("6 / 3\n"); printf("4 - 7\n"); printf("5 * 8\n"); } else if(n==6) { printf("1 + 2\n"); printf("7 + 3\n"); printf("8 + 4\n"); printf("9 + 5\n"); printf("10 - 6\n"); } else if(n==7) { printf("1 / 2\n"); printf("3 * 4\n"); printf("9 - 8\n"); printf("5 + 6\n"); printf("10 / 11\n"); printf("12 * 7\n"); } else if(n==8) { printf("1 - 2\n"); printf("9 * 3\n"); printf("10 * 4\n"); printf("11 * 5\n"); printf("12 + 6\n"); printf("13 + 7\n"); printf("14 + 8\n"); } else if(n==9) { printf("4 / 5\n"); printf("6 / 7\n"); printf("8 / 9\n"); printf("1 + 2\n"); printf("13 + 3\n"); printf("14 - 10\n"); printf("15 - 11\n"); printf("16 - 12\n"); } else if(n==10) { printf("1 / 2\n"); printf("3 / 4\n"); printf("5 / 6\n"); printf("7 / 8\n"); printf("9 + 10\n"); printf("11 + 12\n"); printf("16 + 13\n"); printf("17 + 14\n"); printf("18 + 15\n"); } else if(n==11) { printf("1 + 2\n"); printf("3 / 4\n"); printf("5 / 6\n"); printf("12 + 13\n"); printf("15 + 14\n"); printf("7 - 8\n"); printf("17 * 9\n"); printf("18 * 10\n"); printf("19 * 11\n"); printf("20 + 16\n"); } else if(n==12) { printf("1 + 2\n");//13 printf("13 / 3\n");//14 printf("14 * 4\n");//15 printf("5 - 6\n");//16 for(i=7;i<13;i++) printf("%d * %d\n",i,i+9); printf("15 + 22\n"); } else if(n==13) { printf("1 + 2\n");//14 printf("14 / 3\n");//15 printf("4 / 5\n");//16 printf("6 - 16\n");//17 printf("15 * 17\n");//18 printf("7 - 8\n");//19 for(i=9;i<14;i++) printf("%d * %d\n",i,i+10); printf("18 + 24\n"); } else if(n==14) { printf("1 / 2\n");//15 printf("3 / 4\n");//16 printf("5 - 15\n");//17 printf("17 - 16\n");//18 printf("6 + 7\n");//19 printf("19 / 8\n");//20 printf("20 * 18\n");//21 printf("9 - 10\n");//22 for(i=11;i<15;i++) printf("%d * %d\n",i,i+11); printf("21 + 26\n"); } else { printf("1 + 2\n"); printf("3 + 4\n"); printf("5 + 6\n"); printf("7 + 8\n"); printf("%d + 9\n",n+1); printf("%d / 10\n",n+2); printf("%d / 11\n",n+3); printf("%d / 12\n",n+4); printf("%d / 13\n",n+5); printf("%d * %d\n",n+6,n+7); printf("%d * %d\n",n+8,n+9); printf("%d * %d\n",n+10,n+11); printf("14 - 15\n"); int now=n+13; for(i=16;i<=n;i++) { printf("%d * %d\n",i,now); now++; } printf("%d + %d\n",n+12,now); } } return 0;}
0 0
- hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语
- hdu 5301 Buildings (2015多校第二场第2题) 简单模拟
- hdu 4611 (2013多校第二场第1题)lcm+模拟
- hdu 5305 Friends(2015多校第二场第6题)记忆化搜索
- hdu 5319 Painter (2015多校第三场第4题)暴力模拟(瞎搞)
- hdu 5289 Assignment(2015多校第一场第2题)RMQ+二分(或者multiset模拟过程)
- HDUOJ 4619 (2013多校第二场第9题)
- hdu 4614 多校联赛第二场 1004题
- hdu 4862 jump 多校第一场第二题
- HDU 5301 Buildings(2015多校第二场)
- HDU6168 Numbers(模拟,2017 HDU多校联赛 第9场)
- HDU6168 Numbers(模拟,2017 HDU多校联赛 第9场)
- 2014多校训练第5场1005题 ||hdu 4915 模拟
- HDU 5351 MZL's Border(2015多校第五场第9题) 写长串找规律
- hdu 5288 OO’s Sequence(2015多校第一场第1题)枚举因子
- HDU 5308 I Wanna Become A 24-Point Master(2015多校第二场)
- HDU 5305 Friends(2015多校第二场 dfs + 剪枝)
- 【HDU 5305】Friends 多校第二场(双向DFS)
- 用Java写的关于素数的算法
- 手机改 user模式为debug模式
- Jakarta-Common-BeanUtils研究心得 (转)
- MySQL数据类型中DECIMAL的作用和用法
- 检测iOS WebApp是否运行在全屏模式
- hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语
- 来京学习第11天
- MongoDB启动方法
- Docker命令详解
- JSON解析
- C语言下,获取文件信息 http://qimo601.iteye.com/blog/1517413
- linux 文件描述符
- Codeforces Round #313 A. Currency System in Geraldion
- 高仿苹果通讯录布局