#include <set>
#include <map>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <cctype>
#include <cstdio>
#include <string>
#include <vector>
#include <cassert>
#include <cstdlib>
#include <cstring>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <climits>
#include <clocale>
using namespace std;
typedef long long lint;
bool cmp(pair<lint,lint> a, pair<lint,lint> b) {
return (a.first<b.first);
}
bool check(lint n) {
bool ver[20];
char buf[100];
lint len;
for (int i=0 ; i<=20 ; i++) ver[i]=false;
sprintf(buf,"%lld",n);
len = strlen(buf);
if (len>10) return false;
for (int i=0 ; i<len ; i++) {
if ( ver[ buf[i]-'0' ] == true ) return false;
else ver[ buf[i]-'0' ] = true;
}
return true;
}
int main( void ) {
lint kase, n, i, j, numerator, x, k;
bool first=true, dis, ver[10];
vector< pair<lint,lint> > lst;
scanf("%lld",&kase);
while (kase--) {
scanf("%lld",&n);
if (n==0) continue;
lst.clear();
for (i=1 ; (n*i)>=0 ; i++) {
numerator = n*i;
x = numerator;
for (k=0 ; x ; k++, x/=10) if (k>10) break; // if length of the current
if (k>10) { break; } // numerator exceeds 10 the loop ends
if (check(i) && check(numerator))
lst.push_back(make_pair(numerator,i));
}
sort(lst.begin(),lst.end(),cmp);
if (!first) putchar('\n');
first = false;
for (i=0 ; i<lst.size() ; i++) {
printf("%lld / %lld = %lld\n",lst[i].first,lst[i].second,n);
}
}
return 0;
}
Wednesday, May 30, 2012
[UVa] 471 - Magic Numbers
Subscribe to:
Post Comments (Atom)
Connect Rapoo MT750S with Linux (Tested on Manjaro)
I bought this obvious copy of MX Master 2S in hopes of having the device switching functionality along with a lightweight body because I ha...
-
I like coding a lot, keeps me glued to the PC for hours. For that reason it's a need to edit the Syntax Highlighter to suit my eyes for...
-
I bought this obvious copy of MX Master 2S in hopes of having the device switching functionality along with a lightweight body because I ha...
-
Method: The problem at first glance seems too straightforward but it's not that much. Think a bit about the lines "Erin can add ...
No comments:
Post a Comment
Post your comment here. If you want to say something about programming problems, scripts, software etc, please try to be as descriptive as possible.