模拟。
乍一看以为需要判断闰年之类的,最烦这种题了,仔细分析发现根本不用,因为肯定不存在29月29日这种。还有刚开始没读懂第一句话,以为月和日可以是不一样的,其实第一句话就要求了月和日是一样的,这样就简单了好多。
最多12个月,所以说平方数是有范围的。
#include <iostream>
using namespace std;
int T, a, b;
int f1[] = {1, 4, 9, 16, 25, 36, 49, 64, 81};
int f2[] = {100, 121, 144};
int res, temp;
int main()
{
cin >> T;
while(T--)
{
cin >> a >> b;
res = 0;
for(int i = a; i <= b; i++)
{
temp = i % 1000;
for(int j = 0; j < 3; j++)
{
if(f2[j] == temp)
{
res++;
break;
}
}
temp = temp % 100;
for(int j = 0; j < 9; j++)
{
if(f1[j] == temp)
{
res++;
break;
}
}
}
cout << res << endl;
}
return 0;
}