HDU 2510 - 符号三角形

DFS后打表

 1 #include <iostream>
 2 using namespace std;
 3 int s[] ={0,0,0,4,6,0,0,12,40,0,0,171,410,0,0,1896,5160,0,0,32757,59984,0,0,431095,822229};
 4 int main()
 5 {
 6     int n;
 7     while(~scanf("%d",&n)&n)
 8     {
 9         printf("%d %d\n",n,s[n]);
10     }
11 }
 1 #include <iostream>
 2 using namespace std;
 3 int s[25][25];
 4 int a,b;
 5 int n,cnt;
 6 void dfs(int x)
 7 {
 8     if(x==n+1)
 9     {
10         int i,j;
11         a=b=0;
12         for(j=1;j<=n;j++)
13         if(s[1][j]) a++;
14         else b++;
15         for(int i=2;i<=n;i++)
16         {
17             for(j=1;j<=n-i+1;j++)
18             {
19                 if(s[i-1][j]==s[i-1][j+1]) {
20                     s[i][j]=1;
21                     a++;
22                 } else {
23                     s[i][j]=0;
24                     b++;
25                 }
26             }
27         }
28         if(a==b) cnt++;
29         return;
30     }
31     s[1][x]=0;
32     dfs(x+1);
33     s[1][x]=1;
34     dfs(x+1);
35 }
36 int main()
37 {
38     for(n=1;n<=24;n++)
39     {
40         cnt=0;
41         dfs(1);
42         printf("%d,",cnt);
43     }
44 } 
时间: 2024-08-08 22:04:31

HDU 2510 - 符号三角形的相关文章

HDU 2510 符号三角形 NYOJ491 幸运三角形

符号三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 860    Accepted Submission(s): 437 Problem Description 符号三角形的 第1行有n个由"+"和"-"组成的符号 ,以后每行符号比上行少1个,2个同号下面是"+",2个异 号下面

【HDOJ】2510 符号三角形

暴力打表. 1 #include <cstdio> 2 int a[25]={0,0,0,4,6,0,0,12,40,0,0,171,410,0,0,1896,5160,0,0,32757,59984,0,0,431095,822229}; 3 int main() { 4 while (scanf("%d",a)!=EOF && *a) 5 printf("%d %d\n", *a, a[*a]); 6 return 0; 7 } 8

符号三角形(hdu 2510 搜索+打表)

符号三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1246    Accepted Submission(s): 664 Problem Description 符号三角形的 第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“,2个异 号下面是”-“ .计算有多少个不同的符号三角形,使其所含

符号三角形

符号三角形的 第1行有n个由"+"和"-"组成的符号 ,以后每行符号比上行少1个,2个同号下面是"+",2个异 号下面是"-" .计算有多少个不同的符号三角形,使其所含"+" 和"-" 的个数相同 . n=7时的1个符号三角形如下: + + - + - + + + - - - - + - + + + - - + + - - + - - - + Input每行1个正整数n <=24,

HDU 2091 空心三角形 --- 水题

/* HDU 2091 空心三角形 --- 水题 */ #include <cstdio> int main() { int kase = 0; char ch; int h, t; //h表示高 while (scanf("%c", &ch) == 1 && ch != '@'){ scanf("%d", &h); if (kase++){ printf("\n"); } getchar(); if

回溯法--符号三角形问题

问题描述: 如下图是由14个“+”和14个“-”组成的符号三角形, 2个同号下面都是“+”,2个异号下面都是“-”. - + + - + + +   - + - - + +    - - + - +     + - - -      - + +       - +        - 在一般情况下,符号三角形的第一行有n个符号, 符号三角形问题要求对于给定的n, 计算有多少个不同的符号三角形,使其所含的“+”和“-”的个数相同.  解题思路: 1.不断改变第一行每个符号,搜索符合条件的解,可以使用

回溯法之符号三角形问题

/*回溯法解符号三角形问题 问题描述: 如下图是由14个“+”和14个“-”组成的符号三角形, 2个同号下面都是“+”,2个异号下面都是“-”. - + + - + + + - + - - + + - - + - + + - - - - + + - + - 在一般情况下,符号三角形的第一行有n个符号, 符号三角形问题要求对于给定的n, 计算有多少个不同的符号三角形,使其所含的“+”和“-”的个数相同. 解题思路: 1.不断改变第一行每个符号,搜索符合条件的解,可以使用递归回溯 为了便于运算,设+

HDU2510 符号三角形 DFS直接打表

Problem Description 符号三角形的 第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“,2个异 号下面是”-“ .计算有多少个不同的符号三角形,使其所含”+“ 和”-“ 的个数相同 . n=7时的1个符号三角形如下:+ + - + - + + + - - - - + - + + + - - + + - - + - - - + Input 每行1个正整数n <=24,n=0退出. Output n和符号三角形的个数. Sample Input

HDU 2202 最大三角形

最大三角形 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3248    Accepted Submission(s): 1098 Problem Description 老师在计算几何这门课上给Eddy布置了一道题目,题目是这样的:给定二维的平面上n个不同的点,要求在这些点里寻找三个点,使他们构成的三角形拥有的面积最大.Eddy对这道