代码写搓了
/* * this code is made by LinMeiChen * Problem: * Type of Problem: * Thinking: * Feeling: */ #include<iostream> #include<algorithm> #include<stdlib.h> #include<string.h> #include<stdio.h> #include<math.h> #include<string> #include<vector> #include<queue> #include<list> using namespace std; typedef __int64 lld; bool ok(lld x) { char num[21]; sprintf(num, "%I64d", x); int n = strlen(num); lld odd = 0, even = 0; bool flag = true; for (int i = n - 1; i >= 0; i--) { if (flag) even = even + int(num[i] - '0'), flag = false; else odd = odd + int(num[i] - '0'), flag = true; } return (even - odd == 3); } int main() { int T; lld l, r, i; scanf("%d", &T); while (T--) { scanf("%I64d %I64d", &l, &r); for (i = l; i <= r; i++) if (i % 11 == 3) break; for (; i <= r;i+=11) if (!ok(i)) break; if (i <= r) printf("%I64d\n", i); else printf("-1\n"); } return 0; }