zoukankan      html  css  js  c++  java
  • uva 10562 Undraw the Trees

    题意:给出一棵树,让你用另一种方法表达出来

    解题思路:深搜思路(注意为空的情况)---这道题对它的所有情况还是没有考虑好!

    解题代码:

    // File Name: uva10562.c
    // Author: darkdream
    // Created Time: 2013年05月22日 星期三 12时35分22秒
    
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<time.h>
    #include<math.h>
    char str[300][300];
    int deap;
    void find (int u , int p , int k )
    {
        printf("(");
        if(k > deap)
            return;
        for(int i = u; i <= p && i < strlen(str[k]); i ++)
        {
            if(str[k][i] != ' ')
            {  
                printf("%c",str[k][i]);
                if(str[k+1][i] == '|')
                {
                    int l = i , r = i ;
                    for(; l >= 0 ;l--)
                    {
                        if(str[k+2][l] != '-')
                            break;
                    }
                    for(; r <strlen(str[k+2]) ;r++)
                    {
                        if(str[k+2][r] != '-')
                            break;
                    }
                    find(l+1,r-1,k+3);
                }
                else printf("()");
            }
    
        }
        printf(")");
    
    }
    int main(){
    
        //freopen("/home/plac/problem/input.txt","r",stdin);
        //freopen("/home/plac/problem/output.txt","w",stdout);
        int n;
        scanf("%d",&n);
        getchar();
        while(n--)
        { 
            int i ;
            deap = 0;
            memset(str,0,sizeof(str));
            for( i = 1;; i ++)
            {
                gets(str[i]);
                if(strlen(str[i]) == 1 && str[i][0] == '#')
                {
                    i = i -1;
                    break;
                }
            }
            deap = i ;
            if(i == 0)
                printf("()\n");
            else
            {
                find(0,strlen(str[1])-1, 1);
                printf("\n");
            }
    
        }
        return 0 ;
    }
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    你真的会写二分查找吗
    深入理解C++对象模型
    python监控ip攻击,服务器防火墙
    python操作redis
    python操作mysql
    jmeter_linux下运行
    chales抓包,模拟异常情况
    python正则表达式
    python-笔记(六)模块操作以及常用模块简介
    fpython-笔记(五)装饰器、匿名函数
  • 原文地址:https://www.cnblogs.com/zyue/p/3092694.html
Copyright © 2011-2022 走看看