非常好的dfs题 有很多细节
关于‘ ’ ‘0’ ’ ‘ 的处理 他们都属于isspace函数
其中
while(buf[x+2][i]=='-'&&buf[x+3][i]!=' ') 很重要 &&后面去掉的话会自动以 为目标进行dfs 得到答案不止一行!!!
判断不是空格用!isspace()
fgets用于读取行 在string不合适的时候 并且同样会读取换行符
if(n){ for(int i=0;i<strlen(buf[0]);i++)
{
if(buf[0][i]!=' '){dfs(0,i);break;}
}
} //如果去掉if(n) 会错 debug了好久!!!
#include<bits/stdc++.h> using namespace std; char buf[1000][1000]; int n; void dfs(int x,int y) { printf("%c(",buf[x][y]); if(buf[x+1][y]=='|') { int i=y; while((i-1)>=0&&buf[x+2][i-1]=='-')i--; while(buf[x+2][i]=='-'&&buf[x+3][i]!='