51nod 4248 加倍(c/c++)

22.7暑假冲刺联训CSP-J 第二场II
第一题 加倍
题目描述
给定一个整数 N 。求 1 到 N (包括 1 和 N )之间有多少个整数满足以下条件?

  1. x 的十进制表示法(不带前导零)有偶数位数;
  2. 其前半部分和后半部分作为字符串相等。

输入
输入一个整数N(1≤N≤1e12)

输出
输出对应的答案。

数据范围
对于 33% 的数据,1≤N<3e6;
对于 100% 的数据,1≤N<1e12。

输入样例
33
输出样例
3

不知道怎么枚举 1e12的数据量硬搜就超时没找到技巧

这题只要枚举前半段就行了,然后看它长度*2后是否<n即可