60pts求调
查看原帖
60pts求调
1383564
DDV1楼主2024/8/18 21:21
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[10];
	a[0]=6;
	a[1]=2;
	a[2]=5;
	a[3]=5;
	a[4]=4;
	a[5]=5;
	a[6]=6;
	a[7]=3;
	a[8]=7;
	a[9]=6;
	int n,ans=0;
	cin>>n;
	n-=4;
	for(int A=0;A<=14;A++){
		for(int B=0;B<=14;B++){
			int C=A+B,a1=A,b1=B,c1=C,aadd=0,badd=0,cadd=0;//a1等:副本,aadd等:每个数用火柴棒数量 
			int i=1;
			if(a1==0)
			aadd=a[0];
			if(b1==0)
			badd=a[0];
			while(a1){
				aadd+=a[a1%10];
				a1/=10;
			}
			while(b1){
				badd+=a[b1%10];
				b1/=10;
			}
			while(c1){
				cadd+=a[c1%10];
				c1/=10;
			}
			if(aadd+badd+cadd==n)
			ans++;
		}
	}
	cout<<ans;
	return 0;
} 
2024/8/18 21:21
加载中...