uva 712 S-Trees

2014-11-24 08:35:53 · 作者: · 浏览: 0

链接:http://uva.onlinejudge.org/index.php option=com_onlinejudge&Itemid=8&category=9&page=show_problem&problem=653

题意是一颗树,每个叶对应一个值,通过给出一条路径,来找到对应叶的值。

方法是用两个数一个表示当前步骤,结点对应叶的第一个叶在数组中的位置,一个标记结点对应的最后一个叶在数组中的位置,通过每一步的路径来不断缩小首尾的范围,走完最后一步以后,首位是相同的数字,即为对应位置。

代码:

#include
  
   
#include
   
     #include
    
      #include
     
       #include
       #include
       
         #include
        
          #include
         
           #include
          
            #include
           
             #include
            
              #define PI acos(-1.0) #define maxn 160 #define INF 1<<25 #define MAX 0x7fffffff typedef long long ll; using namespace std; char ss[maxn];//记录每个叶 int aa[maxn];//记录每一步走的方向 char ans[maxn]; int main() { int tot; char mm[10]; int ii=1; while(scanf("%d",&tot)) { if(!tot) return 0; for(int i=0;i