刚刚的T2只拿了20分,1、2、4、8判断过了,65536也判断过了,但是不知道为什么还是没有过去``` #include <bits/stdc++.h> using namespace std; int a[10]{0,1,2,4,8}; const int Maxn = 1000005; int b[Maxn],c[Maxn]; int d[6]{0,6,5,5,3,6}; int tot; bool flag = false; int b1 = 1,c1 = 0; int main() { char s; int t; long long ans = 0; s = getchar(); while (s >= '0' && s <= '9') { t = s - 48; c1++; b[c1] = t; for (register int i = 1 ; i <= 4 ; i++) { if (t == a[i]) { ans++; } } if (t == 6) { c[++tot] = c1; if (tot >= 2) { for (register int i = tot ; i >= b1 ; i--) { if (c[i] - c[b1] == 4) { int e = 1; for (register int s = c[b1] ; s <= c[i] ; s++) { if (b[s] != d[e]) { flag = true; break; } e++; } if (flag == false) { ans++; b1 = i; } } while (c[i] - c[b1] > 4) { b1++; } } } } s = getchar(); } cout << ans << endl; return 0; }