★Zero Sum 和为零
请考虑一个由 1 到 N(N=3, 4, 5 ... 9)的数字组成的递增数列:1 2 3 ... N.
现在请在数列中插入“+”表示加,或者“-”表示减,抑或是“ ”表示空白,来将每一对数字组合
在一起(请不在第一个数字前插入符号).
计算该表达式的结果并注意你是否得到了和为零.
请你写一个程序找出所有产生和为零的长度为 N 的数列.
PROGRAM NAME: zerosum
INPUT FORMAT
单独的一行表示整数 N (3 <= N <= 9).
SAMPLE INPUT (file zerosum.in)
7
OUTPUT FORMAT
按照 ASCII 码的顺序,输出所有在每对数字间插入“+”, “-”, 或 “ ”后能得到和为零的数
列.(注意:就算两个数字之间没有插入符号也应该保留空格)
SAMPLE OUTPUT (file zerosum.out)
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

这题最难的点就是得到一个字符序列后判断他的值是不是0了这一步占了我整个代码长度的3/5,而且花了很长时间。总之这题花了很长时间==。

而且他要求我按ascll顺序,所以wa了一发。我不知道是什么顺序就把switch后面那三个+ -space 交换了顺序跟样例进行比较。

/*
ID:jinbo wu
LANG:C++
TASK:zerosum
*/
#include<bits/stdc++.h>
using namespace std;
int m;
char c[100];
bool num(char b)
{if(b>=48&&b<=57)return true;return false;}
void dfs(int n,int cnt,int l)
{switch(cnt){case 1:{c[l++]=' ';c[l++]=48+n;break;}case 2:{c[l++]='+';c[l++]=48+n;break;}case 3:{c[l++]='-';c[l++]=48+n;}}if(n==m){int sum=0;int flag=0;int k=0;c[l]='\0';for(int i=0;i<l;i++){if(c[i]==' ')continue;if(c[i]=='+'){flag=0;continue;}if(c[i]=='-'){flag=1;continue;}if(k==0){if(num(c[i])&&c[i+1]!=' '){if(flag==0)sum+=(c[i]-'0');if(flag==1)sum-=(c[i]-'0');}else if(num(c[i])&&c[i+1]==' ')k=c[i]-'0';}else{if(num(c[i])&&(c[i+1]!=' '||c[i+1]=='\0')){k=k*10+c[i]-'0';if(flag==0)sum+=k;if(flag==1)sum-=k;k=0;}else if(num(c[i])&&c[i+1]==' '){k=k*10+c[i]-'0';}}}if(sum==0){for(int i=0;i<l;i++)cout<<c[i];cout<<endl;}return;}for(int i=1;i<=3;i++)dfs(n+1,i,l);
}
int main()
{freopen("zerosum.in","r",stdin);freopen("zerosum.out","w",stdout);cin>>m;c[0]='1';for(int i=1;i<=3;i++)dfs(2,i,1);
}

usaco ★Zero Sum 和为零相关推荐

  1. Python sum函数- Python零基础入门教程

    目录 一.Python sum 函数介绍 二.Python sum 函数使用 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一. ...

  2. 1181: 零起点学算法88——偶数求和(C语言)

    一.题目: 题目来源WUSTOJ 二.源代码: #include<stdio.h> int main() {int n, m, num, sum, i, j, k;while (scanf ...

  3. pytorch 训练过程acc_深度学习Pytorch实现分类模型

    今天将介绍深度学习中的分类模型,以下主要介绍Softmax的基本概念.神经网络模型.交叉熵损失函数.准确率以及Pytorch实现图像分类.01Softmax基本概念 在分类问题中,通常标签都为类别,可 ...

  4. 约数个数 (排列组合中的乘法原理)

    问题 A: 约数个数 时间限制: 2 Sec  内存限制: 128 MB 提交: 313  解决: 39 提交 状态 讨论版 命题人:admin 题目描述 p^q表示p的q次方,正整数M可以分解为M= ...

  5. [pytorch、学习] - 3.6 softmax回归的从零开始实现

    参考 3.6 softmax回归的从零开始实现 import torch import torchvision import numpy as np import sys sys.path.appen ...

  6. 【Floyed】【最短路】商店选址问题(ssl 1760)

    商店选址问题 ssl 1760 题目大意: 有一些点,在一个点上按医院,有一个值就是这个点到其他点的最短路之和,问这个值最小是多少 原题: Description 给出一个城市的地图(用邻接矩阵表示) ...

  7. 【Floyed】【匈牙利算法】导弹(jzoj 1610)

    题目大意: 有n个城市,有一部分是A国的,有一部分是B国的(小于A国的),A国每个城市都有一枚导弹(只有一枚),炸毁别的城市的时间是到这个城市的距离,请问A国最快要多久可以炸毁B国所有城市 解题思路: ...

  8. (pytorch-深度学习系列)pytorch避免过拟合-dropout丢弃法的实现-学习笔记

    pytorch避免过拟合-dropout丢弃法的实现 对于一个单隐藏层的多层感知机,其中输入个数为4,隐藏单元个数为5,且隐藏单元hih_ihi​(i=1,-,5i=1, \ldots, 5i=1,- ...

  9. (pytorch-深度学习系列)pytorch实现多层感知机(自动定义模型)对Fashion-MNIST数据集进行分类-学习笔记

    pytorch实现多层感知机(自动定义模型)对Fashion-MNIST数据集进行分类 导入模块: import torch from torch import nn from torch.nn im ...

最新文章

  1. pyinstaller 打包tensorflow2.0为单个文件
  2. python爬虫赚钱的途径-如何用爬虫技术赚钱?
  3. db2分页查询语句优化_面试官:数据量很大,分页查询很慢,怎么优化?
  4. Neko does Maths
  5. 常见Java面试题之JVM加载class文件的原理机制
  6. 为啥我的Python这么慢 (一)
  7. 联想服务器pxe安装系统,使用CloudBoot裸机部署Lenovo ThinkSystem服务器
  8. CorelDRAW VBA 插件开发入门视频教程
  9. MeshLab怎么换背景颜色?
  10. appRTC android studio,webrtc入门之客户端连麦demo-apprtc
  11. miRNA 在基因调控中的作用
  12. 开环传递函数判断系统类型_已知系统的开环传递函数,试用Nyquist稳定判据判断系统的稳定性。_学小易找答案...
  13. Phalcon框架启动流程(部分源码)分析
  14. 测试手机单核性能软件,跑分软件Geekbench公布“作弊”名单:华为6款手机上榜...
  15. 性能测试指标及常用的监控工具
  16. 登陆港股市场,阳光保险的 “价值锚点”
  17. FLV科普10 FLV视频头信息
  18. Myeclipse 2017百度云下载
  19. 数学建模--时间序列分析、模型预测
  20. JAVA爬虫三种方法

热门文章

  1. 学生上课睡觉班主任怎么处理_学生上课睡觉,老师的管与不管,不是你看到的那么简单...
  2. 2022-2028年中国水处理分离膜行业市场现状调研及市场需求潜力报告
  3. 2022-2028年中国阻燃纤维行业市场研究及前瞻分析报告
  4. 二叉树中和为某一值的路径
  5. IDEA : Git Pull Failed 解决(IDEA中使用stash功能)
  6. 软件工程——视频总结
  7. 深度学习的Xavier初始化方法
  8. LeetCode简单题之验证外星语词典
  9. DeepLabV3+语义分割实战
  10. AI芯片体系结构目标图形处理