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