USACO Section2.3 Zero Sum 解题报告 【icedream61】
zerosum解题报告
------------------------------------------------------------------------------------------------------------------------------------------------
【题目】
给你N。
把1到N依次写出,每相邻两个数字中间加上一个字符,三选一:'+','-',' '。
如此,便可形成很多表达式,把其中计算结果为0的按字典序输出。
【数据范围】
3<=N<=9
【输入样例】
7
【输出样例】
1+2-3+4-5-6+7
1+2-3-4+5+6-7
1-2 3+4+5+6+7
1-2 3-4 5+6 7
1-2+3+4-5+6-7
1-2-3-4-5+6+7
------------------------------------------------------------------------------------------------------------------------------------------------
【分析】
枚举。脑子清楚,代码别写错就好。
------------------------------------------------------------------------------------------------------------------------------------------------
【总结】
一遍AC。
------------------------------------------------------------------------------------------------------------------------------------------------
【代码】
/*
ID: icedrea1
PROB: zerosum
LANG: C++
*/ #include <iostream>
#include <fstream>
using namespace std; int N;
char mark[]; int get(int &l)
{
int r=l;
while(r<N && mark[r]==' ') ++r;
int x=;
for(int i=l;i<=r;++i) x=x*+i;
l=r+;
return x;
} void get(int i,char &c)
{
c=mark[i-];
} void print(ostream& out)
{
for(int i=;i<=N-;++i) out<<i<<mark[i];
out<<N<<endl;
} void test(ostream& out)
{
//cout<<"test: "; print(cout);
int r=;
char c='+';
for(int i=,num=get(i);;num=get(i))
{
if(c=='+') r+=num; else r-=num;
if(i==N+) break; else get(i,c);
}
if(r==) print(out);
} void go(int i,ostream& out)
{
//cout<<i<<endl;
if(i==N) { test(out); return; }
mark[i]=' '; go(i+,out);
mark[i]='+'; go(i+,out);
mark[i]='-'; go(i+,out);
} int main()
{
//printf("%d %d %d\n",'+','-',' '); ifstream in("zerosum.in");
ofstream out("zerosum.out"); in>>N; go(,out); in.close();
out.close();
return ;
}
USACO Section2.3 Zero Sum 解题报告 【icedream61】的更多相关文章
- USACO Section2.1 The Castle 解题报告
castle解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...
- USACO Section2.1 Ordered Fractions 解题报告
frac1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】
holstein解题报告 --------------------------------------------------------------------------------------- ...
- USACO Section2.1 Hamming Codes 解题报告 【icedream61】
hamming解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.2 Preface Numbering 解题报告 【icedream61】
preface解题报告----------------------------------------------------------------------------------------- ...
- USACO Section2.3 Controlling Companies 解题报告 【icedream61】
concom解题报告------------------------------------------------------------------------------------------ ...
- USACO Section2.3 Money Systems 解题报告 【icedream61】
money解题报告------------------------------------------------------------------------------------------- ...
- USACO Section2.3 Cow Pedigrees 解题报告 【icedream61】
nocows解题报告------------------------------------------------------------------------------------------ ...
- USACO Section2.3 Longest Prefix 解题报告 【icedream61】
prefix解题报告------------------------------------------------------------------------------------------ ...
随机推荐
- Javascript作业—取字符串的第一个只出现一次的字母
js作业 取字符串第一个只出现一次的字母 <script type='text/javascript'> //取a-z字符串中第一个只出现一次的字母 function firstUniqu ...
- win8下使用IIS服务器及自定义服务器端包含模块(SSI)步骤
配置完过段时间就容易忘记,特此记录. 1.开启IIS服务器. 默认没有安装,需要先安装. 打开控制面板--> 打开“程序和功能”--> 左侧选择“启用或关闭windows功能”--> ...
- 【BZOJ4487】[JSOI2015] 染色问题(高维容斥)
点此看题面 大致题意: 有一个\(n*m\)的矩形,先让你用\(C\)种颜色给它染色.每个格子可染色可不染色,但要求每行每列至少有一个小方格被染色,且每种颜色至少出现一次.求方案数. 高维容斥 显然题 ...
- 动态数组第k小,Poj(1442)
题目链接:http://poj.org/problem?id=1442 本来想复制一下,然后直接sort,结果T了. 在网上看了一下,有用两个队列做的,想了半天,没看懂什么意思.后来模拟一边,总算是懂 ...
- Maven 配置本地依赖jar
现有json-1.0.jar,引入依赖方法如下: 1. 在项目下新建 lib 目录,复制json-1.0.jar到lib目录下 pom.xml中添加配置 <dependency> < ...
- ceph-简介及安装(luminous)版
什么是ceph: Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式的存储系统.Ceph 独一无二地用统一的系统提供了对象.块.和文件存储功能,它可靠性高.管理简便.并且是开源软件. ...
- java设计模式——外观模式(门面模式)
一. 定义与类型 定义:门面模式,提供一个统一的接口,用来访问子系统中的一群接口,门面模式定义了一个高层接口,让子系统更容易使用 类型:结构性 二. 使用场景 子系统越来越复杂,增加外观模式提供简单调 ...
- MyEclipse 自动添加 作者 日期 等注解
使用MyEclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->C ...
- 【Java】Maven安装、Eclipse配置以及相关错误解决集合
作者呕血总结,下面写的每一个错误我都遇过 · Maven安装 · Eclipse配置 · Maven安装 安装前请确保已经装有JDK. 一. 准备Maven程序包 到官网https://maven.a ...
- SpringBoot学习14:springboot异常处理方式4(使用SimpleMappingExceptionResolver处理异常)
修改异常处理方法3中的全局异常处理Controller即可 package bjsxt.exception; import org.springframework.context.annotation ...