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解题报告------------------------------------------------------------------------------------------ ...
随机推荐
- iRecognizer号码扫描开发实录
iRecognizer——这是一款可以帮助你快速扫描获得印刷体数字的软件 现已上架 腾讯应用宝,酷安 提供的功能:扫一扫(相册或当场扫描),获得电话号码,之后就可以拨打或者发送短信,自动复制到剪贴板, ...
- MySQL数据库实验二:单表查询
实验二 单表查询 一.实验目的 理解SELECT语句的操作和基本使用方法. 二.实验环境 是MS SQL SERVER 2005的中文客户端. 三.实验示例 1.查询全体学生的姓名.学号.所在系. ...
- CRM WebUI and Hybris的Product页面标题实现
CRM Controller只需实现IF_BSP_WD_HISTORY_STATE_DESCR~GET_STATE_DESCRIPTION方法: 上图在ABAP调试器里观察到的这个字符即出现在最终页面 ...
- Windows聚焦转为图片
1.windows聚焦图片目录路径: C:\Users\Er\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1 ...
- 神奇的暴力数据结构——ODT
前言 \(ODT\),即珂朵莉树,又称老司机树(\(Old\ Driver\ Tree\)). 它是一个十分暴力的数据结构,可以用于各种乱搞,也非常的实用. 当然,这全要基于一个基本条件:数据随机. ...
- Uva 11582 巨大的斐波那契数 模运算
题目链接:https://vjudge.net/contest/156903#problem/A 题意:计算 f(a^b)%n 分析: 1.斐波那契数列是 f(i+2) = f(i+1) + f(i) ...
- setTimeout详解
一.setTimeout基础 setTimeout(func|code,delay); 第一个参数表示将要推迟的函数名或者一段代码,第二个参数表示推迟执行的毫秒数 eg: console.log( ...
- Javascript Ajax 请求
var XMLHttpReq; function createXMLHttpRequest() { try { XMLHttpReq = new ActiveXObject("Msxml2. ...
- 15、SpringBoot------整合swagger2
开发工具:STS 前言: 对外提供一个Api,无论是对开发.测试.维护,都有很大的帮助. 下面我们来实现swagger2. 参考实例:https://blog.csdn.net/weixin_3947 ...
- 【学时总结】 ◆学时·IV◆ 数位DP
[学时·IV] 数位DP ■基本策略■ 说白了就是超时和不超时的区别 :) 有一些特别的题与数位有关,但是用一般的枚举算法会超时.这时候就有人提出了--我们可以用动态规划!通过数字前一位和后一位之间的 ...