1 条题解
-
3
#include <cstdio> #include <cstring> char mid[20], aft[20]; void dfs(int ml, int mr, int al, int ar) { if (ml > mr || al > ar) { return; } printf("%c", aft[ar]); for (int k = ml; k <= mr; k++) { if (mid[k] == aft[ar]) { dfs(ml, k-1, al, al+k-ml-1); dfs(k+1, mr, al+k-ml, ar-1); break; } } } int main(void) { scanf("%s", mid); scanf("%s", aft); int len = strlen(mid) - 1; dfs(0, len, 0, len); return 0; }
ac
- 1
信息
- ID
- 1741
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 18
- 已通过
- 18
- 上传者