POJ3187 Backward Digit Sums
给出杨辉三角的顶点值,求底边各个数的值。直接DFS就好了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<cmath>
#define ll __int64
#define INF 0x3fffffff
#define rep(i,n) for(int (i)=0;(i)<n;(i)++)
using namespace std;
int n,k,sum;
int a[15][15];
bool vis[12]; bool judge()
{
for(int i=1;i<n;i++)
{
for(int j=0;j<n-i;j++)
{
a[i][j]=a[i-1][j]+a[i-1][j+1];
}
}
if(a[n-1][0]==sum) return true;
return false;
} bool dfs(int cur)
{
if(cur==n)
{
if(judge()) return true;
return false;
}
for(int i=1;i<=n;i++)
{
if(!vis[i])
{
a[0][cur]=i;
vis[i]=true;
if(dfs(cur+1)) return true;
a[0][cur]=0;
vis[i]=false;
}
}
return false;
} int main()
{
cin>>n>>sum;
k=0;
memset(a,0,sizeof(a));
memset(vis,false,sizeof(vis));
dfs(0);
rep(i,n)
{
cout<<a[0][i];
if(i==n-1) break;
cout<<" ";
}
cout<<endl;
return 0;
}
POJ3187 Backward Digit Sums的更多相关文章
- POJ3187 Backward Digit Sums 【暴搜】
Backward Digit Sums Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4487 Accepted: 25 ...
- (DFS、全排列)POJ-3187 Backward Digit Sums
题目地址 简要题意: 输入两个数n和m,分别表示给你1--n这些整数,将他们按一定顺序摆成一行,按照杨辉三角的计算方式进行求和,求使他们求到最后时结果等于m的排列中字典序最小的一种. 思路分析: 不难 ...
- POJ-3187 Backward Digit Sums (暴力枚举)
http://poj.org/problem?id=3187 给定一个个数n和sum,让你求原始序列,如果有多个输出字典序最小的. 暴力枚举题,枚举生成的每一个全排列,符合即退出. dfs版: #in ...
- 【POJ - 3187】Backward Digit Sums(搜索)
-->Backward Digit Sums 直接写中文了 Descriptions: FJ 和 他的奶牛们在玩一个心理游戏.他们以某种方式写下1至N的数字(1<=N<=10). 然 ...
- BZOJ1653: [Usaco2006 Feb]Backward Digit Sums
1653: [Usaco2006 Feb]Backward Digit Sums Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 207 Solved: ...
- Backward Digit Sums(POJ 3187)
Backward Digit Sums Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5495 Accepted: 31 ...
- Backward Digit Sums(暴力)
Backward Digit Sums Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5664 Accepted: 32 ...
- 1653: [Usaco2006 Feb]Backward Digit Sums
1653: [Usaco2006 Feb]Backward Digit Sums Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 285 Solved: ...
- POJ 3187 Backward Digit Sums 枚举水~
POJ 3187 Backward Digit Sums http://poj.org/problem?id=3187 题目大意: 给你一个原始的数字序列: 3 1 2 4 他可以相邻 ...
随机推荐
- 数据同步DataX
数据同步那些事儿(优化过程分享) 简介 很久之前就想写这篇文章了,主要是介绍一下我做数据同步的过程中遇到的一些有意思的内容,和提升效率的过程. 当前在数据处理的过程中,数据同步如同血液一般充满全过 ...
- Hadoop加zookeeper构建高可靠集群
事前准备 1.更改Linux主机名,每个人都有配置 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop-server1 2.改动IP / ...
- CCBValue
#ifndef __CCB_VALUE_H__ #define __CCB_VALUE_H__ #include "cocos2d.h" #include "Extens ...
- synchronized和进程间通信(转)
关于JAVA多线程同步 JAVA多线程同步主要依赖于若干方法和关键字 1 wait方法: 该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行, ...
- Balanced Binary Tree(Java代码没有结束,是什么原因???)
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- HDU 3366 Passage (概率DP)
Passage Problem Description Bill is a millionaire. But unfortunately he was trapped in a castle. The ...
- vs2013 ADO联系SQL server2012数据库
平时,给定ADO例如使用以下过程数据源中的数据的数据库应用程序 (1) 创建一个Connection 物.定义的连接字符串信息.它包含了数据源名称.用户ID.密码.连接超时 . 默认数据库的位置和光标 ...
- 第5章 原型模式(Protype Pattern)
原文 第5章 原型模式(Protype Pattern) 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 原型图: 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Pro ...
- do...while(0)神奇
1. do...while(0)消除goto语句. 通常,假设在一个函数中開始要分配一些资源.然后在中途运行过程中假设遇到错误则退出函数,当然,退出前先释放资源,我们的代码可能是这样: version ...
- winform 实现选择的城市名单
首先在地图上 #region 选择城市 /// <summary> /// 点击字母事件 /// </summary> /// <param name="sen ...