记忆化搜索。

 /* 3419 */
#include <cstdio>
#include <cstring>
#include <cstdlib> #define MAXN 10 int ans;
int n[];
int x[];
bool visit[MAXN];
int cnt[MAXN][MAXN][MAXN]; void dfs(int d, int i, int v) {
if (i == ) {
if (x[]*x[] == x[])
++ans;
return ;
}
if (d < n[i]) {
for (int j=; j<MAXN; ++j) {
if (!visit[j]) {
visit[j] = true;
dfs(d+, i, v*+j);
visit[j] = false;
}
}
} else {
x[i] = v;
dfs(, i+, );
}
} int main() {
int a, b, c;
int i, j, k; #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif memset(cnt, -, sizeof(cnt));
while (scanf("%d %d %d", &a, &b, &c)!=EOF && (a||b||c)) {
if (a+b < c) {
puts("");
} else if (a>c || b>c){
puts("");
} else if (a+b-c>) {
puts("");
} else if (cnt[a][b][c] >= ) {
printf("%d\n", cnt[a][b][c]);
} else {
memset(visit, false, sizeof(visit));
n[] = a;
n[] = b;
n[] = c;
ans = ;
dfs(, , );
cnt[a][b][c] = ans;
printf("%d\n", ans);
}
} return ;
}

最新文章

  1. UDS(ISO14229-2006) 汉译(No.7 应用层协议)【未完,待续】
  2. Java中的static关键字解析
  3. linux-ntpdate同步更新时间
  4. 对&quot;QQGame-大家来找茬&quot;的辅助工具的改进
  5. SSH实例(7)
  6. mysql 设置编码 Incorrect string value: &#39;\xE9\x98\xBF\xE4\xB8\x89...&#39; for column &#39;cont,mysql乱码
  7. dede在线留言
  8. 单独删除std::vector &lt;std::vector&lt;string&gt; &gt; 的所有元素
  9. Yii处理流程
  10. Response.ContentType 详细列表 (转载)
  11. 用ant重新编译jdk加入调试信息
  12. Windows系统的线程调度与软件中断分发
  13. singleton pattern
  14. EditText禁用系统键盘,光标可以继续使用
  15. python科学计算_numpy_ufunc
  16. 【Vue.js】vue基础: 3种Class和Style绑定语法
  17. 20164301 Exp4 恶意代码分析
  18. day_3各种数据类型与各种运算符
  19. 学习memcache
  20. 下载chrome插件和离线安装CRX文件的方法

热门文章

  1. Qt 学习之路:线程和 QObject
  2. spring mvc DispatcherServlet详解之一--request通过HandlerMaping获取控制器Controller过程
  3. Struts2和Struts1的不同
  4. PRD产品需求文档概要
  5. Socket 学习
  6. 主成份分析PCA
  7. 1. mybatis批量插入数据
  8. Oracle IN 传递字符串参数查询失效
  9. AppiumDriver 运行app启动基本参数
  10. DIV+CSS外部字体引用