[bzoj3360] [Usaco2004 Jan]算二十四

  O(3^9)枚举符号。。

  成功垫底QAQ...幸好没破坏这题100%的AC率。。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 using namespace std;
 5 int l[11],r[11];
 6 int fh[11],num[11],a[11];
 7 int i,j,k,n,m,ans;
 8
 9 int ra;char rx;
10 inline int read(){
11     rx=getchar(),ra=0;
12     while(rx<‘0‘||rx>‘9‘)rx=getchar();
13     while(rx>=‘0‘&&rx<=‘9‘)ra*=10,ra+=rx-48,rx=getchar();return ra;
14 }
15 inline int calc(){
16     int i,j,k;
17     for(i=1;i<=n;i++)l[i]=r[i]=i;
18     for(i=1;i<n;i++){
19         for(j=i;fh[j]==3;j++);
20         for(k=i;k<=j;k++)l[k]=i,r[k]=j;
21         i=j;
22     }
23     for(i=1;i<=n;i=r[i]+1)
24         for(j=l[i]+1,num[r[i]]=a[i];j<=r[i];j++)num[r[i]]*=a[j];
25     int now=0;
26     for(i=1;i<=n;i++)if(i==r[i])
27         if(l[i]==1||fh[l[i]-1]==1)now+=num[i];else now-=num[i];
28     return now;
29 }
30 void dfs(int dep){
31     if(dep==n){
32         if(calc()==24)ans++;
33         return;
34     }
35     fh[dep]=1,dfs(dep+1),
36     fh[dep]=2,dfs(dep+1),
37     fh[dep]=3,dfs(dep+1);
38 }
39 int main(){
40     n=read();for(i=1;i<=n;i++)a[i]=read();
41     dfs(1);
42     printf("%d\n",ans);
43 }

时间: 2024-10-11 12:02:02

[bzoj3360] [Usaco2004 Jan]算二十四的相关文章

3360: [Usaco2004 Jan]算二十四

3360: [Usaco2004 Jan]算二十四 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 6  Solved: 6[Submit][Status][Discuss] Description 写一个程序,给出D(2≤D≤10)个数字,按原顺序在数字间加+,一,×算出24,且不使用括 号.优先级按正常的优先级处理,即先做乘法后做加减法.输出有多少种不同的方案数. Input 第1行:一个整数D. 第2到D+1行:D个整数,在1到50之间. O

趣味集算:算二十四

算24点,是一种常见的智力游戏.它可以使用抽去大小王的扑克牌来玩,随便抽出4张牌,要求通过加.减.乘.除等四则运算,并使用所有的这4个数,将结果算为24.在玩这个游戏时,扑克牌中的JQK记为11,12和13. 用集算器,可以比较方便地编写程序,根据随便给定的4个数,计算出游戏的解答,如下面的24points.dfx: A B C D 1 =arg1 [+,-,*,/] [] [] 2 =to(0,255).([~\64+1, ~%64\16+1,~%16\4+1,~%4+1]) =A2.sele

二十四孝,图文并茂,古今必读!

知道“二十四孝”的人,已经不多了:知道“二十四孝”的年轻人,更是少之又少.“孝”在今日社会,似乎已是一个“过气”的词,人老珠黄般,逗不起众人的欲望了.我们读<二十四孝>,感觉那似乎是十分遥远的故事.其实细细想来,它好像又近在咫尺,离我们并不远. 01 孝感动天 舜,传说中的远古帝王,五帝之一,姓姚,名重华,号有虞氏,史称虞舜.相传他的父亲瞽叟及继母.异母弟象,多次想害死他:让舜修补谷仓仓顶时,从谷仓下纵火,舜手持两个斗笠跳下逃脱:让舜掘井时,瞽叟与象却下土填井,舜掘地道逃脱.事后舜毫不嫉恨,仍

请对照这二十四条逻辑谬误自行打脸(转自知乎谢熊猫专栏)

[科普工具文]请对照这二十四条逻辑谬误自行打脸 谢熊猫君 · 1 年前 两年前,我还活跃在人人网的时候,曾经整理过一篇常见逻辑谬误的工具文,用来帮助大家在网络讨论中打脸用: [科普工具文]请对照这二十四条逻辑谬误自行打脸 这两年来在一些社交网站和互联网论坛中常看到有人使用这篇文章,想来也是有点用处的,特意在这边转帖一下,为方便各位在知乎讨论时能更加方便的辨别逻辑问题. ======================= ======================= 本文内容基本都来自于英文网站ht

从零开始学android&lt;android事件的处理方式.二十四.&gt;

在android中一共有 多种事件,每种事件都有自己相对应的处理机制 如以下几种 1 单击事件 View.OnClickListener public abstract void onClick (View v) 单击组件时触发 2 单击事件 View.OnLongClickListener public abstract boolean onLongClick (View v) 长按组件时触发 3 键盘事件 View.OnKeyListener public abstract boolean

实验二十四:SD卡模块

  驱动SD卡是件容易让人抓狂的事情,驱动SD卡好比SDRAM执行页读写,SD卡虽然不及SDRAM的麻烦要求(时序参数),但是驱动过程却有猥琐操作.除此此外,描述语言只要稍微比较一下C语言,描述语言一定会泪流满面,因为嵌套循环,嵌套判断,或者嵌套函数等都是它的痛.. 史莱姆模块是多模块建模的通病,意指结构能力非常脆弱的模块,暴力的嵌套行为往往会击垮模块的美丽身躯,好让脆弱结构更加脆弱还有惨不忍睹,最终搞垮模块的表达能力.描述语言预想驾驭SD卡,关键的地方就是如何提升模块的结构能力.简单而言,描述

攻城狮在路上(叁)Linux(二十四)--- linux设置开机挂载及镜像文件挂载

虽然可以手动进行文件系统的挂载,但是每次都手动挂载就会很麻烦,开机挂载的目的就是实现文件系统的自动挂载. 一.开机挂载:/etc/fstab及/etc/mtab 主要是通过修改/etc/fstab文件的配置来实现. fstab是开机时的设置,实际文件系统的挂载是记录到/etc/mtab和/proc/mounts这两个文件中. 1.系统挂载的限制: A.根目录/必须挂载,而且一定是最先挂载的,要先于其他mount point. B.其他挂载点必须为已新建的目录,可以任意指定. C.所有挂载点在同一

全栈JavaScript之路( 二十四 )DOM2、DOM3, 不涉及XML命名空间的扩展

(一)DocumentType 类型的变化新增三个属性: publicId,systemId,internalSubset(内部子集) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" [<!ELEMENT name (#PCDATA)>] > 通过, document.doc

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意