SecretSum 是本次 google 竞赛中第二轮淘汰赛的一道分值为 500 分竞赛题。事实上,这道题目反而比同轮比赛中的那道 1000 分值的RecurringNumbers 难(RecurringNumbers 的难度水准充其量不过是道初一学生奥数竞赛题)。好了,闲话少叙,来看 SecretSum 的题目吧: 
一、竞赛题目
Problem Statement 
We can substitute each digit of a number with a unique letter from ''A'' to ''Z''. This way we can write groups of numbers in a single representation. For example "ABA" can represent any of the following: 101, 151, 343, 767, 929. However, "ABA" cannot mean 555 because each letter must stand for a distinct digit. Furthermore, numbers cannot begin with 0 and thus ''A'' cannot be replaced by 0. Given two such representations num1 and num2 and the result of their summation return the total number of possible combinations of numbers for which the equation holds. If no combinations are possible then return 0. 
Definition 
Class: SecretSum 
Method: countPossible 
Parameters: String, String, String 
Returns: int 
Method signature: int countPossible(String num1, String num2, String result) 
(be sure your method is public) 
Constraints 
- num1, num2, and result will each contain exactly 3 uppercase letters (''A'' - ''Z''). 
Examples 
0) 
"AAA" 
"BBB" 
"CCC" 
Returns: 32 
1) 
"ABB" 
"DEE" 
"TTT" 
Returns: 112 
2) 
"ABC" 
"ABA" 
"ACC" 
Returns: 0 
Leading zeroes are not allowed. 
3) 
"AAA" 
"CDD" 
"BAA" 
Returns: 32 
4) 
"TEF" 
"FET" 
"AAA" 
Returns: 12 
5) 
"ABC" 
"ABC" 
"BCE" 
Returns: 5 
We can have the following 5 sums: 
124 + 124 = 248 
125 + 125 = 250 
249 + 249 = 498 
374 + 374 = 748 
375 + 375 = 750 
6) 
"AAA" 
"AAA" 
"BBB" 
Returns: 4 
We can have the following 4 sums: 
111 + 111 = 222 
222 + 222 = 444 
333 + 333 = 666 
444 + 444 = 888 
This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.