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】的更多相关文章

  1. USACO Section2.1 The Castle 解题报告

    castle解题报告 —— icedream61 博客园(转载请注明出处)--------------------------------------------------------------- ...

  2. USACO Section2.1 Ordered Fractions 解题报告

    frac1解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  3. USACO Section2.1 Healthy Holsteins 解题报告 【icedream61】

    holstein解题报告 --------------------------------------------------------------------------------------- ...

  4. USACO Section2.1 Hamming Codes 解题报告 【icedream61】

    hamming解题报告----------------------------------------------------------------------------------------- ...

  5. USACO Section2.2 Preface Numbering 解题报告 【icedream61】

    preface解题报告----------------------------------------------------------------------------------------- ...

  6. USACO Section2.3 Controlling Companies 解题报告 【icedream61】

    concom解题报告------------------------------------------------------------------------------------------ ...

  7. USACO Section2.3 Money Systems 解题报告 【icedream61】

    money解题报告------------------------------------------------------------------------------------------- ...

  8. USACO Section2.3 Cow Pedigrees 解题报告 【icedream61】

    nocows解题报告------------------------------------------------------------------------------------------ ...

  9. USACO Section2.3 Longest Prefix 解题报告 【icedream61】

    prefix解题报告------------------------------------------------------------------------------------------ ...

随机推荐

  1. iRecognizer号码扫描开发实录

    iRecognizer——这是一款可以帮助你快速扫描获得印刷体数字的软件 现已上架 腾讯应用宝,酷安 提供的功能:扫一扫(相册或当场扫描),获得电话号码,之后就可以拨打或者发送短信,自动复制到剪贴板, ...

  2. MySQL数据库实验二:单表查询

    实验二   单表查询 一.实验目的 理解SELECT语句的操作和基本使用方法. 二.实验环境 是MS SQL SERVER 2005的中文客户端. 三.实验示例 1.查询全体学生的姓名.学号.所在系. ...

  3. CRM WebUI and Hybris的Product页面标题实现

    CRM Controller只需实现IF_BSP_WD_HISTORY_STATE_DESCR~GET_STATE_DESCRIPTION方法: 上图在ABAP调试器里观察到的这个字符即出现在最终页面 ...

  4. Windows聚焦转为图片

    1.windows聚焦图片目录路径: C:\Users\Er\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1 ...

  5. 神奇的暴力数据结构——ODT

    前言 \(ODT\),即珂朵莉树,又称老司机树(\(Old\ Driver\ Tree\)). 它是一个十分暴力的数据结构,可以用于各种乱搞,也非常的实用. 当然,这全要基于一个基本条件:数据随机. ...

  6. Uva 11582 巨大的斐波那契数 模运算

    题目链接:https://vjudge.net/contest/156903#problem/A 题意:计算 f(a^b)%n 分析: 1.斐波那契数列是 f(i+2) = f(i+1) + f(i) ...

  7. setTimeout详解

    一.setTimeout基础 setTimeout(func|code,delay); 第一个参数表示将要推迟的函数名或者一段代码,第二个参数表示推迟执行的毫秒数   eg: console.log( ...

  8. Javascript Ajax 请求

    var XMLHttpReq; function createXMLHttpRequest() { try { XMLHttpReq = new ActiveXObject("Msxml2. ...

  9. 15、SpringBoot------整合swagger2

    开发工具:STS 前言: 对外提供一个Api,无论是对开发.测试.维护,都有很大的帮助. 下面我们来实现swagger2. 参考实例:https://blog.csdn.net/weixin_3947 ...

  10. 【学时总结】 ◆学时·IV◆ 数位DP

    [学时·IV] 数位DP ■基本策略■ 说白了就是超时和不超时的区别 :) 有一些特别的题与数位有关,但是用一般的枚举算法会超时.这时候就有人提出了--我们可以用动态规划!通过数字前一位和后一位之间的 ...