求帮忙
查看原帖
求帮忙
1111574
a15207081682楼主2024/3/18 23:19

80分,最后一个测试点过不了

#include <iostream>
#include <cmath>
using namespace std;

int n,s[10]={6,2,5,5,4,5,6,3,7,6},num; 
    
int main(){
	
	cin>> n;
	n-=4;
	for(int i=0;i<=99;i++){
		for(int j=0;j<=99;j++){
			int k=i+j;
			if(k>=100){
				break;
			}
			if(k>=10&&i<10&&j<10){
				int x=k/10;
		        int y=k%10;
		        if(s[i]+s[j]+s[x]+s[y]==n){
		        	num++;
				}
			} else if(k>=10&&i>=10&&j<10){
				int x1=k/10;
				int y1=k%10;
				int x2=i/10;
				int y2=i%10;
				if(s[x1]+s[y1]+s[j]+s[x2]+s[y2]==n){
				    num++;
			    }
			} else if(i>=10&&j>=10){
				int x1=k/10;
				int y1=k%10;
				int x2=i/10;
				int y2=i%10;
				int x3=j/10;
				int y3=j%10;
				if(s[x1]+s[y1]+s[x3]+s[y3]+s[x2]+s[y2]==n){
				    num++;
			    }
			} else if(k>=10&&j>=10&&i<10){
				int x1=k/10;
				int y1=k%10;
				int x2=j/10;
				int y2=j%10;
				if(s[i]+s[x1]+s[y1]+s[x2]+s[y2]==n){
					num++;
				}
			} else{
				if(s[i]+s[j]+s[k]==n){
					num++;
				}
			}
			
		}
	}
	cout<< num;
	
	return 0;
}
2024/3/18 23:19
加载中...