hdu2510-符号三角形(dfs+打表)
n只有24 可以写个暴力搜索,然后打表,不然这个很难通过剪枝直接优化到1s以内。
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
const int maxn=;
using namespace std;
int n,m,ans;
int res[maxn+]={,,,,,,,,,,,,,,,,,,,,,,,,};
int a[maxn+][maxn+];
void dfs(int layer,int lnum,int pos,int nei,int n){
//printf("%d %d %d %d\n",layer,lnum,pos,nei);
if(pos+nei>m) return ;
if(pos-nei>(m-pos-nei)) {
//printf("%d %d\n",pos,nei);
return ;
}
if(layer==&&pos==m/&&nei==m/){
ans++;
return ;
}
if(layer==&&(pos!=m/||nei!=m/)) return ;
if(pos>m/||nei>m/) return ;
if(layer==n&&lnum<=layer){
a[layer][lnum]=;
if(lnum==layer)
dfs(layer-,,pos+,nei,n);
else dfs(layer,lnum+,pos+,nei,n);
a[layer][lnum]=-;
if(lnum==layer)
dfs(layer-,,pos,nei+,n);
else dfs(layer,lnum+,pos,nei+,n);
} else if(layer!=n){
if(lnum<=layer){
if(a[layer+][lnum]==a[layer+][lnum+]){
a[layer][lnum]=;
if(lnum==layer)
dfs(layer-,,pos+,nei,n);
else dfs(layer,lnum+,pos+,nei,n);
} else {
a[layer][lnum]=-;
if(lnum==layer)
dfs(layer-,,pos,nei+,n);
else dfs(layer,lnum+,pos,nei+,n);
}
}
}
}
int main()
{
/*for(int i=1;i<=24;i++){
m=(i*(i+1)/2);
if(m&1){
printf("0\n");
} else {
ans=0;
dfs(i,1,0,0,i);
printf("%d\n",ans);
}
}*/
while(scanf("%d",&n)!=EOF&&n){
printf("%d %d\n",n,res[n]);
}
return ;
}
hdu2510-符号三角形(dfs+打表)的更多相关文章
- hdu 2510 符号三角形 (DFS+打表)
符号三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 符号三角形(hdu 2510 搜索+打表)
符号三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 符号三角形——F
F. 符号三角形 Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO format: Java class name: 符号 ...
- 符号三角形_hdu_2510(深搜).java
http://acm.hdu.edu.cn/showproblem.php?pid=2510 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- code vs 3376 符号三角形
3376 符号三角形 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 如下图是由14个“+”和14个“-”组 ...
- OpenJudge 2990:符号三角形 解析报告
2990:符号三角形 总时间限制: 1000ms 内存限制: 65536kB 描述 符号三角形的第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“ ...
- 【a502】符号三角形问题
Time Limit: 1 second Memory Limit: 32 MB [问题描述] 在一般情况下,符号三角形的第一行有n个符号.按照2个同号的下面是"+"号,2个异号的 ...
- HDU 2510 - 符号三角形
DFS后打表 #include <iostream> using namespace std; ,,,,,,,,,,,,,,,,,,,,,,,,}; int main() { int n; ...
- DFS+打表
N皇后问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status ...
- HDU 2586 How far away(dfs+邻接表)
How far away [题目链接]How far away [题目类型]dfs+邻接表 &题意: 题目大意:一个村子里有n个房子,这n个房子用n-1条路连接起来,接下了有m次询问,每次询问 ...
随机推荐
- laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)
laravel基础课程---12.lavarel的ajax操作2(lavarel的ajax使用总结) 一.总结 一句话总结: 比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可 1. ...
- linux 进程学习笔记-暂停进程
<!--[if !supportLists]-->Ÿ <!--[endif]-->暂停进程 int pause() 其会挂起当前进程直到有信号来唤醒或者进程被结束. 随便提一下 ...
- MySQL 单笔订单满6个及以上产品且金额>=300赠送优惠券_20161103
活动内容: 单笔订单满6个及以上产品(帽子.浴巾除外),金额满赠300元,即赠送300-10元(除帽子.浴巾外)优惠券一张.需求数据:满足条件的用户ID活动时间:11.2-11.5(4天)活动规则:① ...
- 【Python】Python figure显示的两种方式
1. 两种方式: 终端输出图像新窗口输出图像 2. 终端输出命令: %matplotlib inline 新窗口输出命令: %matplotlib qt5 注意此两个语句是命令行输入,若在spyder ...
- Django简单快速实现PUT、DELETE方法
使用django的小伙伴们应该都知道我们是无法开心的处理PUT跟DELETE的 $.ajax({ url: 'XXX', type: 'PUT', dataType: 'json', data: { ...
- 面向对象(this关键字)
package com_package2; public class Person3 { private int age; private String name; public int getAge ...
- AAAAAA
有可能被立案调查.暂停上市.退市风险警示*ST.特别处理ST的公司:银鸽投资(SH:600069).天山生物(SZ:300313).金贵银业(SZ:002716).美盛文化(SZ:002699).未名 ...
- Spring Web MVC 的HandlerMapping的使用之-------SimpleUrlHandlerMapping
转自:https://www.2cto.com/kf/201401/271141.html Spring MVC教程 映射处理器Handler Mapping 一.简析映射处理器 在spring mv ...
- angular学习的一些Mark
http://www.cnblogs.com/xianrongbin/p/4104596.html http://angular-ui.github.io/
- HDU - 6112 2017百度之星初赛A 今夕何夕
今夕何夕 Accepts: 1345 Submissions: 5533 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...