3360: [Usaco2004 Jan]算二十四
时间:2022-05-08
本文章向大家介绍3360: [Usaco2004 Jan]算二十四,主要内容包括3360: [Usaco2004 Jan]算二十四、Description、Input、Output、Sample Input、Sample Output、HINT、Source、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
3360: [Usaco2004 Jan]算二十四
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 6 Solved: 6
Description
写一个程序,给出D(2≤D≤10)个数字,按原顺序在数字间加+,一,×算出24,且不使用括
号.优先级按正常的优先级处理,即先做乘法后做加减法.输出有多少种不同的方案数.
Input
第1行:一个整数D.
第2到D+1行:D个整数,在1到50之间.
Output
输出方案总数.
Sample Input
5 6 4 2 8 16
Sample Output
4 样例说明 四种方法分别是6x4x2-8-16,6-4- 2+8+16,6x4-2 x8+16,6×4+2×8-16.
HINT
Source
题解:直接O(3N)都能过。。。水水哒。。。
(还有话说USACO Orange/Green/Blue 这玩意是什么鬼= =,别告诉我Orange=Bronze阿阿阿QAQ,@bx2k @Recursionsheep @acphile @wnjxyk)
1 const d:array[1..3] of char=('+','-','*');
2 var
3 i,j,k,l,m,n:longint;
4 a,b:array[0..20] of longint;
5 function calc:int64;
6 var i:longint;a1,a2,a3:int64;
7 begin
8 a1:=0;a2:=a[1];a3:=1;
9 for i:=2 to n do
10 begin
11 case b[i-1] of
12 1:BEGIN
13 if a3=1 then a1:=a1+a2 else a1:=a1-a2;
14 a2:=a[i];a3:=1;
15 end;
16 2:begin
17 if a3=1 then a1:=a1+a2 else a1:=a1-a2;
18 a2:=a[i];a3:=2;
19 end;
20 3:begin
21 a2:=a2*a[i];
22 end;
23 end;
24 end;
25 if a3=1 then a1:=a1+a2 else a1:=a1-a2;
26 calc:=a1;
27 end;
28 procedure dfs(x:longint);inline;
29 var i:longint;
30 begin
31 if x>=n then
32 begin
33 if calc=24 then inc(l);
34 exit;
35 end;
36 for i:=1 to 3 do
37 begin
38 b[x]:=i;
39 dfs(x+1);
40 end;
41 end;
42 begin
43 readln(n);
44 for i:=1 to n do readln(a[i]);
45 l:=0;
46 dfs(1);
47 writeln(l);
48 end.
- macOS下加载动态库dylib报"code signature invalid"错误的解决办法
- Asp.net管道模型(管线模型)之一发不可收拾
- Python深入01 特殊方法与多范式
- MacOS平台下@rpath在动态链接库中的应用
- Python深入02 上下文管理器
- 剑指OFFER之字符串的排列(九度OJ1369)
- 高性能计算机传奇
- ffmpeg编解码视频导致噪声增大的一种解决方法
- 剑指OFFER之二叉搜索树与双向链表(九度OJ1503)
- 理解并自定义HttpHandler
- Mac OS X平台下QuickLook开发教程
- JSP-Servlet中文乱码
- 理解并自定义HttpModule
- DirectShow Filter的开发实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Netty之美--I/O模型
- 023.基于IT论坛案例学习Elasticsearch(二):Query高级知识(一)
- 打卡群刷题总结0807——验证二叉搜索树
- 打卡群刷题总结0808——二叉树的层序遍历
- Mybatis高级查询(四):延迟加载
- I/O多路复用器之隐秘的角落
- 打卡群刷题总结0809——二叉树的锯齿形层次遍历
- 简单的ssm整合练手项目:汽车项目
- 在spring-boot中使用pageHelper插件
- 要深入 JavaScript,你需要掌握这 36 个概念
- mybatis-plus实现增删改查
- mybatis-plus代码生成器
- mybatis-plus逻辑删除
- mybatis-plus一些关键配置
- mybatis-plus自定义sql注入器