hdu 2510 符号三角形 (DFS+打表)
符号三角形
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 811 Accepted Submission(s): 403
+ + - + - + +
+ - - - - +
- + + + -
- + + -
- + -
- -
+
这题还比较好吧,开始写了代码发现一定会超时,后来看了别人的解法再想想,可以打表解决,小菜的dfs一般,解24时要好几分钟...
还有题目加减号的情况和异或一样,于是用01表示方便计算。
- #include<stdio.h>
- #include<string.h>
- int n,cnt,m;
- int c[];
- int judge(int c0[])
- {
- int cc=;
- int s[];
- for(int i=;i<n;i++){
- s[i]=c0[i];
- if(c0[i]) cc++;
- }
- for(int i=;i<n;i++){
- for(int j=;j<n;j++) s[j]=c0[j];
- for(int j=;j<n-i-;j++)
- if(c0[j]=s[j]^s[j+]) cc++;
- }
- if(cc==m) return ;
- return ;
- }
- void dfs(int id)
- {
- if(id==n){
- cnt+=judge(c);return;
- }
- c[id]=;
- dfs(id+);
- c[id]=;
- dfs(id+);
- return;
- }
- int main(void)
- {
- //freopen("C:\\Users\\Administrator\\Desktop\\in.txt","r",stdin);
- //freopen("C:\\Users\\Administrator\\Desktop\\out.txt","w",stdout);
- while(scanf("%d",&n)!=EOF)
- {
- memset(c,,sizeof(c));
- m=(n+)*n/;
- if(m%){ //小剪枝
- printf("%d %d\n",n,);
- continue;
- }
- m/=;
- cnt=;
- dfs();
- printf("%d %d\n",n,cnt);
- }
- return ;
- }
- /*
- */
求得解后打表
- #include<stdio.h>
- int ans[]={,,,,,,,,,,,,,,,,,,,,,,,,};
- int main(void)
- {
- int n;
- while(scanf("%d",&n),n)
- {
- printf("%d %d\n",n,ans[n]);
- }
- return ;
- }
hdu 2510 符号三角形 (DFS+打表)的更多相关文章
- HDU 2510 - 符号三角形
DFS后打表 #include <iostream> using namespace std; ,,,,,,,,,,,,,,,,,,,,,,,,}; int main() { int n; ...
- HDU 2563 统计问题 (DFS + 打表)
统计问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- ACM: HDU 2563 统计问题-DFS+打表
HDU 2563 统计问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u HDU 2 ...
- 【HDOJ】2510 符号三角形
暴力打表. #include <cstdio> ]={,,,,,,,,,,,,,,,,,,,,,,,,}; int main() { while (scanf("%d" ...
- 符号三角形(hdu 2510 搜索+打表)
符号三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU 2586 How far away(dfs+邻接表)
How far away [题目链接]How far away [题目类型]dfs+邻接表 &题意: 题目大意:一个村子里有n个房子,这n个房子用n-1条路连接起来,接下了有m次询问,每次询问 ...
- 符号三角形_hdu_2510(深搜).java
http://acm.hdu.edu.cn/showproblem.php?pid=2510 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- 符号三角形——F
F. 符号三角形 Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO format: Java class name: 符号 ...
- code vs 3376 符号三角形
3376 符号三角形 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 如下图是由14个“+”和14个“-”组 ...
随机推荐
- Chrome 调试工具的一些高阶功能
Chrome 内置抓包工具 Block requests 截取长图 代码的覆盖率分析 Make site better Chrome 内置抓包工具 在浏览器地址栏输入chrome://net-inte ...
- spring-bean(xml方式管理)
特点 每一次加载XML文件时候,都会将配置文件中包含的配置实例化. ID与name区别:name不是唯一的,但是可以使用特殊字符 Class:生成类的实例 Bean的作用域: 三种实例化方式 类的构造 ...
- Mac中Mysql开启远程访问(不同于linux直接改配置文件)
在mac中安装Mysql Workbench 用root用户连上安装的Mysql. 开启远程访问的服务 如下图可以看到是root用户绑定的是localhost 如果不做修改的话,直接访问是访问不了 ...
- Linux实战教学笔记15:用户管理初级(下)
第十四节 用户管理初级(下) 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,用户查询相关命令id,finger,users,w,who,last,lastlog,gr ...
- [CodeForces954G]Castle Defense(二分答案+差分)
Description 题目链接 Solution 二分答案,套一个差分标记即可 每次放弓箭手显然越右边越优 Code #include <cstdio> #include <alg ...
- Android AppUtil通用类
1.整体分析 1.1.先看一下源码,可以直接Copy. public class AppUtil { /** * 获取当前程序包名 * * @param context 上下文 * @return 程 ...
- [原]sencha touch之表单二(注册页面)
接着上一篇的登陆页面,来一个最简单的注册页面,几乎包含了常用的field Ext.application({ id:'itKingApp', launch:function(){ var formPa ...
- hihocoder1014 : Trie树
#1014 : Trie树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助, ...
- Python 3基础教程3-数学运算
本文来介绍下Python中的常见数学运算,其实和其他语言一样,加减乘除语法差不多,这里注意下Python中指数的表示方法. # 这里介绍 常见的数学运算 # 加法print(5 + 8) # 减法pr ...
- selenium初识(二)——之webdriver API
配置完的环境之后,我们先来写一个小脚本: # __Author__:"Jim_xie" from selenium import webdriver from time impor ...