我比较笨,没想出讨论中绝大部分人的做法,不过还是把他A了。用容器模拟了DFS做出来,话说刚开始以为这题输出有问题,因为相当于杨辉三角形砍了个头。
话说讨论里那种做法也挺神奇,直接处理编号,我还以为起码要处理个数组啥的。。。
另外这题注意c++中临时变量不能作为非const的引用参数,也就是引用传参只能传一个确定参数,不能传一个或多个变量的表达式。
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <vector>
#include <stack>
#include <cctype>
#include <cmath>
#include <climits>
using namespace std;
const int MAXN = 50005;
const int INF = INT_MAX;
vector<int> dfs(int &num){
if(num == 0){
vector<int> ans;
ans.push_back(1);
ans.push_back(1);
printf("1 1\n");
return ans;
}
num--;
vector<int> father = dfs(num);
vector<int> current;
current.push_back(1);
for(int i = 0; i < father.size()-1; i++){
int tmp