#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<set>
#include<map>
#define db(a) \
cout << #a << " = " << a << endl
#define db2(a, b) \
cout << #a << " = " << a << " " << #b << " = " << b << endl
#define inf (1<<30)
#define foreach(it, m) \
for (typeof(m.begin()) it = m.begin(); it != m.end(); it++)
using namespace std;
bool has_repeated_digits(long long int s) {
int mask = 0;
while (s) {
if (mask & (1 << (s % 10)))
return true;
mask |= 1 << (s % 10);
s /= 10;
}
return false;
}
int main() {
#ifdef dennisbot
freopen("in.in", "r", stdin);
freopen("ou.out", "w", stdout);
#endif
int t;
long long int max_s1 = 9876543210, s1, s2, max_s2, N;
scanf("%d", &t);
for (; t--;) {
scanf("%lld", &N);
max_s2 = max_s1 / N;
for (s2 = 1; s2 <= max_s2; s2++) {
if (has_repeated_digits(s2)) continue;
s1 = s2 * N;
if (has_repeated_digits(s1)) continue;
printf("%lld / %lld = %lld\n", s1, s2, N);
}
if (t)
puts("");
}
return 0;
}
here is the statementjueves, 12 de julio de 2012
471 - Magic Numbers, uva
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario