40pts 求助
查看原帖
40pts 求助
755503
LiJinLin_AFO楼主2023/8/21 21:28
#include<stdio.h>
bool a[1000005];
bool consider(int n,int yuan){
	if(!n) return 0;
	if(n%10==0) return consider(n/10,yuan);
	if(!a[yuan-n%10]) return 1;
	return consider(n/10,yuan);
}
void work(){
	int n;
	scanf("%d",&n);
	for(int i=1;i<10;i++) a[i]=1;
	for(int i=11;i<=n;i++) a[i]=consider(i,i);
	printf("%s\n",a[n]?"YES":"NO");
}
int main(){
	int t;
	scanf("%d",&t);
	while(t--) work();
	return 0;
}

我的思路和题解几乎一致,请问哪儿可以改正?

2023/8/21 21:28
加载中...