AM学军OJ
T1 暴力
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 typedef long long LL; 6 const int N = 2000000 + 10; 7 8 int len, power; 9 10 int get_next(int x) { 11 return x / 10 + x % 10 * power; 12 } 13 14 int vis[N], clk; 15 16 LL calc(int l, int r) { 17 LL ans = 0; 18 for(int i = l; i <= r; i++) if(vis[i] != clk) { 19 int c = 0, x = i; 20 for(int j = 0; j < len; j++) { 21 if(l <= x && x <= r && vis[x] != clk) { 22 vis[x] = clk, c++; 23 } 24 //cout << x << endl; 25 x = get_next(x); 26 } 27 //cout << "--" << ans << endl; 28 ans += c * (c - 1) / 2; 29 } 30 return ans; 31 } 32 33 int main() { 34 35 int T; 36 scanf("%d", &T); 37 while(T--) { 38 //memset(vis, 0, sizeof vis); 39 clk++; 40 int l, r, x; 41 scanf("%d%d", &l, &r); x = l; 42 for(len = 0, power = 1; x; x /= 10) len++, power *= 10; 43 power /= 10; 44 //cerr << "!" << endl; 45 //printf("%d\n", calc(l, r)); 46 cout << calc(l, r) << endl; 47 } 48 49 50 return 0; 51 }