TLE 82分
题目
#include <bits/stdc++.h>
using namespace std;
int l, r, L, R, e;
bool flag(int t, int k) {
int tmp[10010];
if (t < k)
return true;
int n = 1;
while (t != 0) {
tmp[n++] = t % k;
t /= k;
}
n--;
int m1 = tmp[n];
int m2 = tmp[n - 1];
n -= 2;
if (m1 == m2)
return false;
bool f = true;
for (int i = n; i >= 1; i--) {
if (!(f == true && tmp[i] == m1 || f == false && tmp[i] == m2))
return false;
f = !f;
}
return true;
}
int s(int k) {
int ans = 0;
for (int i = l; i <= r; i++) {
if (flag(k, i) == true)
ans++;
if(r-i<e-ans)
return 0;
}
return ans;
}
int main() {
cin >> l >> r >> L >> R >> e;
for (int i = L; i <= R; i++) {
if (s(i) == e)
cout << i << "\n";
}
return 0;
}