All pastes #330880 Raw Edit

Untitled

public cpp v1 · immutable
#330880 ·published 2007-01-28 11:06 UTC
rendered paste body
#include <iostream>#include <cstdio>#include <map>using namespace std;#define REP(i,N)	for(int i=0,_N=N;i<_N;++i)#define FOR(i,A,B)	for(int i=(A),_N=(B);i<=_N;++i)#define FORD(i,A,B)	for(int i=(A),_N=(B);i>=_N;--i)#define FIT(it,T,C)	for(T::iterator it=(C).begin();it!=(C).end();++it)int divcount[10000]; int find_max(char word[], int pos){	int max_v=0;	for( ; word[pos]!=0 ; ++pos) if(word[pos]=='X') break;	if(word[pos] == 0) {		int foo; sscanf(word, "%d", &foo);		return divcount[foo];	}	FOR(v, (pos==0?1:0), 9) {		word[pos] = v+'0'; 		max_v >?= find_max(word, pos);		word[pos] = 'X';	}	return max_v;}int main(){	divcount[0]=0; divcount[1]=1;	FOR(num,2,9999) {		int count = 0, i;		for(i=1 ; (i*i) < num ; ++i) if(num%i == 0) count += 2;		if(i*i == num) ++count;		divcount[num] = count;	}	int _T; scanf("%d", &_T); 	while(_T--) {		char input[5]; scanf("%s", input);		printf("%d\n", find_max(input, 0));	}	return 0;}