比赛 [不是Rapiz出的]农场主钦定NOIP模拟赛1 评测结果 AAAAAAAAAA
题目名称 Rabbit Number 最终得分 100
用户昵称 Steve 运行时间 2.120 s
代码语言 C++ 内存使用 0.28 MiB
提交时间 2016-11-08 21:16:52
显示代码纯文本
#include <cstdio>
#include <iostream>
using namespace std;
typedef long long ll;
int l,r,ans,cnt;
int s(ll x){
	int ans1=0;
	while(x){
		ans1+=x%10;
		x/=10;
	}
	return ans1;
}
void dfs(int wei,ll sum){
	if(sum>r)
		return;
	if(sum>=l && wei==cnt)
		if(s(sum*sum)==s(sum)*s(sum))
			++ans;
	for(int i=0;i<4;i++)
		if(wei<cnt)
			dfs(wei+1,sum*10+i);
}
int main(){
	freopen("rabbits.in","r",stdin);
	freopen("rabbits.out","w",stdout);
	scanf("%d%d",&l,&r);
	int g=r;
	while(g){
		++cnt;
		g/=10;
	}
	dfs(0,0);
	printf("%d\n",ans);
	return 0;
}