比赛 |
[不是Rapiz出的]农场主钦定NOIP模拟赛1 |
评测结果 |
AAAAAAAAAA |
题目名称 |
Rabbit Number |
最终得分 |
100 |
用户昵称 |
MistyEye |
运行时间 |
0.093 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2016-11-08 18:57:01 |
显示代码纯文本
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
typedef long long ll;
queue<int> q;
int su(ll x) {
int cnt = 0;
while(x) cnt += x%10, x /= 10;
return cnt;
}
int main() {
freopen("rabbits.in","r",stdin);
freopen("rabbits.out","w",stdout);
int l, r, ans = 0; scanf("%d %d", &l, &r);
q.push(0);
while(!q.empty()) {
int p = q.front(); q.pop();
if(p>r) break;
if(p>=l) ++ans;
for(int i=0; i<=3; ++i) {
if(!p && !i) continue;
int x = p*10+i, s = su(x);
if(s*s==su(1LL*x*x)) q.push(x);
else break;
}
}
printf("%d\n", ans);
getchar(); getchar();
return 0;
}