本文主要是介绍P1149 [NOIP2008 提高组] 火柴棒等式(一个比较有意思的题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
P1149 [NOIP2008 提高组] 火柴棒等式
#include <bits/stdc++.h>
using namespace std;
int n, ans, a[11111]={6, 2, 5, 5, 4, 5, 6, 3, 7, 6};
bool vis[11111][11111];
int main()
{cin >> n;//计算每个数需要的火柴棒for(int i=10; i<=11111; ++i){//数位分离int tmp=i;while(tmp!=0){a[i]+=a[tmp%10];tmp/=10;}}//枚举所有的可能for(int i=0; i<=11111; ++i){for(int j=0; j<=11111-i; ++j){//使用vis[i][j]避免重复计算x+x=2*x问题if(a[i]+a[j]+a[i+j]==n-4 && !vis[i][j]){vis[i][j]=true;ans++;}}}cout << ans;return 0;
}
这篇关于P1149 [NOIP2008 提高组] 火柴棒等式(一个比较有意思的题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!