acm 深度优先搜索法老师在一张纸上面一排写着1, 2, 3...N这N个数,中间用空白分隔。老师让小明在空白处填上加号
阳德鸿2022-10-04 11:39:541条回答
acm 深度优先搜索法
老师在一张纸上面一排写着1, 2, 3...N这N个数,中间用空白分隔。老师让小明在空白处填上加号或者减号。他让小明求出一共有多少种加运算符的方法使得整个表达式的值为0,并输出所有的方案。比如N=7时,1 2 3 4 5 6 7排成一排,一种插入符号的方案为1+2-3+4-5-6+7=0。是不是很有趣,快来帮小明解出这题吧(*´▽`)ノノ
输入为一行,包含一个整数N(3≤N≤9)。
输出为所有在每对数字间插入“+”或“-”后能得到和为零的数列,并按照字典(ASCII码)序排列。如果无解就输出一行None。
不知道字典序和ASCII也不要紧,我们看样例输出就清楚啦,1到N排成一排,先每个位置优先放"+",再放"-",这么放的原因是因为"+"的ASCII码要比"-"小。
样例输入: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...N这N个数,中间用空白分隔。老师让小明在空白处填上加号或者减号。他让小明求出一共有多少种加运算符的方法使得整个表达式的值为0,并输出所有的方案。比如N=7时,1 2 3 4 5 6 7排成一排,一种插入符号的方案为1+2-3+4-5-6+7=0。是不是很有趣,快来帮小明解出这题吧(*´▽`)ノノ
输入为一行,包含一个整数N(3≤N≤9)。
输出为所有在每对数字间插入“+”或“-”后能得到和为零的数列,并按照字典(ASCII码)序排列。如果无解就输出一行None。
不知道字典序和ASCII也不要紧,我们看样例输出就清楚啦,1到N排成一排,先每个位置优先放"+",再放"-",这么放的原因是因为"+"的ASCII码要比"-"小。
样例输入: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条回复
- wuluhua36 共回答了14个问题
|采纳率71.4% - #include
#include
#include
#include
#include
using namespace std;
typedef long long LL;
const int MX=1009+5;
int ans[MX],n;
void DFS(int pos,int sum,int d){
sum+=d?pos:-pos;
ans[pos]=d;
if(pos==n){
if(!sum){
printf("1");
for(int i=2;i<=n;i++){
printf("%c%d",ans[i]?'+':'-',i);
}
printf("n");
}
return;
}
DFS(pos+1,sum,1);
DFS(pos+1,sum,0);
}
int main(){
while(~scanf("%d",&n)){
DFS(1,0,1);
}
return 0;
} - 1年前
相关推荐
大家在问
- 1用新鲜造句,意思是食物没有变质
- 2有同样大小的红.黄.蓝.白四色小球个八个,混合后放在一个布袋里.至少摸出几个球,可以保证一定有2个球
- 3英语翻译第一段:A:Which place would you like tu go?B:I'd like to go
- 4当x→0时,下列变量与x相比为等价无穷小量的是
- 5用宾语从句改写句子1.Where are you from?He asks me( )2.Can he repair t
- 6已知关于x的方程(a+c)x2+2bx-(c-a)=0的两根之和为-1,两根之差为1,其中a,b,c是△ABC的三边长.
- 7英语 单选、January is _____ month of the year.A、firstB、the firstC
- 8请翻成英文(商务合同)请翻下文(商务合同):兹为甲方向乙方购买下列货品双方议定各项条件如下:一、 交货期间地点方式:1、
- 9用直接开平方解下列方程 (x-1)^2=(2x+3)^2
- 10为什么下雪天,在有积雪的路上撒点盐就能使雪融化的更快一点
- 11已知函数 (1)y=x+4/x(x不等于0)
- 12不同的时间,不同的业余爱好英语作文
- 13英语词组意思与原词意思的规律我要的是汉英英汉互译,即给我一个词,我立即知道要加什么prep,可以简单点,只找adj词组.
- 14載应该怎么读?用拼音的,我用的是手写
- 15若长方体同一顶点处的三个面的面积为3,12,25,则它的体积分别为多少