code vs 3376 符号三角形
如下图是由14个“+”和14个“-”组成的符号三角形, 2个同号下面都是“+”,2个异号下面都是“-”
- + + - + + +
- + - - + +
- - + - +
+ - - -
- + +
- +
-
一个数n,表示符号三角形的第一行有n个符号
对于给定的n,计算有多少个不同的符号三角形,使其所含的“+”和“-”的个数相同(严禁打表!!!!!)
若不存在方案,输出-1
4
6
对于90%的数据,n<=24;
对于另外10%的数据,请注意特殊情况。
分类标签 Tags 点此展开
思路:写了个搜索,发现只能卡到70分,然后就用这个暴力打了个表,然后就过了。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 2500
using namespace std;
int n,sum,ans;
int map[MAXN][MAXN];
int judgenum(){
int bns=,k;
for(int i=;i<=n;i++){
for(int j=;j<=n-i+;j++){
if(map[i-][j]!=map[i-][j+]) map[i][j]=,bns++;
else if(map[i-][j]==map[i-][j+]) map[i][j]=;
}
}
for(int i=;i<=n;i++) if(map[][i]==) bns++;
if(bns==sum-bns) return ;
else return ;
}
void dfs(int now,int num1,int num2){
if(now==n+){
if(judgenum()) ans++;
return ;
}
map[][now]=;dfs(now+,num1+,num2);map[][now]=-;
map[][now]=;dfs(now+,num1,num2+);map[][now]=-;
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) sum+=i;
if(sum%!=){ cout<<"-1";return ; }
memset(map,-,sizeof(map));
dfs(,,);
cout<<ans;
}
/*
- + + - + + +
- + - - + +
- - + - +
+ - - -
- + +
- +
-
*/
70分暴力
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 2500
using namespace std;
int n,sum,ans;
int map[MAXN][MAXN];
int anss[]={,-,-,,,-,-,,,-,-,,,-,-,,,-,-,,,-,-,,};
int judgenum(){
int bns=,k;
for(int i=;i<=n;i++){
for(int j=;j<=n-i+;j++){
if(map[i-][j]!=map[i-][j+]) map[i][j]=,bns++;
else if(map[i-][j]==map[i-][j+]) map[i][j]=;
}
}
for(int i=;i<=n;i++) if(map[][i]==) bns++;
if(bns==sum-bns) return ;
else return ;
}
void dfs(int now){
if(now==n+){
if(judgenum()) ans++;
return ;
}
map[][now]=;dfs(now+);map[][now]=-;
map[][now]=;dfs(now+);map[][now]=-;
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) sum+=i;
if(sum%!=){ cout<<"-1";return ; }
cout<<anss[n];
/*for(n=1;n<=24;n++){
memset(map,-1,sizeof(map));
dfs(1);if(ans==0){ cout<<"-1,";sum=0;continue; }
cout<<ans<<",";
ans=0;sum=0;
}*/
}
/*
- + + - + + +
- + - - + +
- - + - +
+ - - -
- + +
- +
-
*/
code vs 3376 符号三角形的更多相关文章
- OpenJudge 2990:符号三角形 解析报告
2990:符号三角形 总时间限制: 1000ms 内存限制: 65536kB 描述 符号三角形的第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“ ...
- 符号三角形——F
F. 符号三角形 Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO format: Java class name: 符号 ...
- 符号三角形(hdu 2510 搜索+打表)
符号三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 符号三角形_hdu_2510(深搜).java
http://acm.hdu.edu.cn/showproblem.php?pid=2510 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- hdu 2510 符号三角形 (DFS+打表)
符号三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 【a502】符号三角形问题
Time Limit: 1 second Memory Limit: 32 MB [问题描述] 在一般情况下,符号三角形的第一行有n个符号.按照2个同号的下面是"+"号,2个异号的 ...
- 【HDOJ】2510 符号三角形
暴力打表. #include <cstdio> ]={,,,,,,,,,,,,,,,,,,,,,,,,}; int main() { while (scanf("%d" ...
- HDU 2510 - 符号三角形
DFS后打表 #include <iostream> using namespace std; ,,,,,,,,,,,,,,,,,,,,,,,,}; int main() { int n; ...
- 【CImg】三角形绘制算法实现
这周的CV基础练习是简单的图形绘制:比如说矩形.三角形和圆心什么的.会发现其实矩形和圆形的实现思路都很直白,矩形只需要确认两个对角坐标就可以了,圆心只需要确认圆心和半径,接着就是简单的遍历各个像素点判 ...
随机推荐
- [Swift通天遁地]二、表格表单-(13)实时调整表单元素的显示和隐藏
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Unity项目 - 打砖块游戏
基本功能:实现WASD进行视角在XY轴方向的移动,其次按下鼠标左键产生子弹bullet对面前的砖块cube进行碰撞. 主界面: 运行情况: 动态过程: 项目地址:BreakBricks 制作过程: 创 ...
- 【知识总结】卡特兰数 (Catalan Number) 公式的推导
卡特兰数的英文维基讲得非常全面,强烈建议阅读! Catalan number - Wikipedia (本文中图片也来源于这个页面) 由于本人太菜,这里只选取其中两个公式进行总结. (似乎就是这两个比 ...
- ACM_黯然销魂?
黯然销魂? Time Limit: 2000/1000ms (Java/Others) Problem Description: 发神集训表现出色,决定要送他鸡翅,但是锴神决定不让他那么容易拿到,所以 ...
- Parameter index out of range (1 > number of parameters, which is 0).
数据库错误:Parameter index out of range (1 > number of parameters, which is 0) ...
- hdu2639,第K优决策
在dp问题中如果遇到问题,没有什么是加一维度不能解决的,如果不能,再加一维度. #include<iostream> #include<cstring> #include< ...
- 【PostgreSQL-9.6.3】事件触发器
当预定的事件发生时,事件触发器就会被触发.由于事件触发器设计的权限比较大,所以只有超级用户才能创建和修改触发器. 1. 事件触发器支持的事件分三类:ddl_command_start, ddl_com ...
- 15个最受欢迎的Python开源框架(转)
原文地址:http://blog.jobbole.com/72306/ Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受 ...
- Ubuntu Mysql 常用指令
mysql 常用指令及中文乱码解决 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- CSS3:变换和动画
<html> <style> .container{ -webkit-perspective: 800; -webkit-perspective-origin: 50% 40% ...