这道题其实很简单
只是个暴力枚举!!!
题目大致意思是说给你一堆火柴棒,两个符号(‘+’&&‘-’)。
第一个数字‘0’用了6根火柴棒,‘1’用了2根火柴棒,依此类推......
这样,我们就能够写一个数组
我们还需要输入1个数——‘n'。
然后,用暴力枚举(for)写一个小程序,加上火柴棒,再来算一下加起来(加上两个符号)看看等不等于n
下面,上代码~~~
#include <bits/stdc++.h>
using namespace std;
int a[3000]={6,2,5,5,4,5,6,3,7,6};
int main(){
int n,ans=0,k=0,y=0;
cin>>n;
n-=4;
for(int i=10;i<=3000;i++){
y=i;
while(y){
a[i]+=a[y%10];
y/=10;
}
}
for(int i=0;i<=1111;i++){
for(int j=0;j<=1111;j++){
k=i+j;
if(a[i]+a[j]+a[k]==n)
ans++;
}
}
cout<<ans;
return 0;
}
//so beautiful!!!
看到这,就别看了,没了
送客~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
标签:10,洛谷,int,ans,NOIP2008,火柴,P1149 From: https://www.cnblogs.com/zsy-2010/p/17177159.html