1 条题解
-
0
递归即可。跟二分查找的思想有点像。很多树的题目事实上根本不用把树建立出来,虽然当时觉得这个思想很惊奇,但现在自己也算真正的理解了这句话了。
在输入一长串的时候,写 就能从 开始输入了,这很贴合人的语言习惯,但问题是这样就不能使用 strlen 了,所以使用了 math 来计算 。
#include<stdio.h> #include<math.h> char A[1025]; void work(int low, int up) { int mid = (low+up)/2; if (low!=up){ work(low, mid); work(mid+1,up); } int i,a=0,b=0; for (i=low;i<=up;i++) if (A[i]=='0') a++; else b++; if (a&&b) printf("F"); else if (a) printf("B"); else printf("I"); } int main() { int n; scanf("%d", &n); scanf("%s", A+1); work(1, pow(2,n)); return 0; }
转自 luogu 题解 https://www.luogu.com.cn/blog/_post/2759
- 1
信息
- ID
- 32
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者