nyoj-491--幸运三角形--简单深搜枚举(TLE)
生活随笔
收集整理的这篇文章主要介绍了
nyoj-491--幸运三角形--简单深搜枚举(TLE)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=491
悲剧啊,TEL了 #include<stdio.h> #include<string.h> int n,cnt,vis[30],dp[22][22]; int a,b; bool fun() {for(int i=0;i<n;i++){for(int j=0;j<n-i-1;j++){if(dp[i][j]==dp[i][j+1]){dp[i+1][j]=1;b++;}else{dp[i+1][j]=0;a++;}}}if(a==b) return true;else return false; }void dfs(int cur) {a=0,b=0;if(cur>=n){for(int i=0;i<n;i++){dp[0][i]=vis[i];if(dp[0][i]==0) a++;else b++;}if(fun()) cnt++;return;}vis[cur]=0;dfs(cur+1);vis[cur]=1;dfs(cur+1); }int main() {while(~scanf("%d",&n)){cnt=0;dfs(0);printf("%d\n",cnt);} }不过把他们打表就ok了 #include<stdio.h> int n,a[20]={0,0,0,4,6,0,0,12,40,0,0,171,410,0,0,1896,5160,0,0,32757}; int main() {while(~scanf("%d",&n)){printf("%d\n",a[n]);} }
总结
以上是生活随笔为你收集整理的nyoj-491--幸运三角形--简单深搜枚举(TLE)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 干货|我在 GitHub 上发现了一款骚
- 下一篇: 十分钟搞定JeecgBoot 单体升级微