Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594

POJ 1747 Expression---递归

Posted on 2009-10-03 01:36 Uriel 阅读(617) 评论(0)  编辑 收藏 引用 所属分类: POJ递归 & 分治
暑假集训就看过这题,当时不会。。今天看了下Discuss之后很有感觉。。
加入下标应该不用这么麻烦。。sscanf那些神奇的东西都还不会。。就用猥琐方法硬来了。。。- -||
大牛们不吝指教。。加下标那里怎么改下。。
/*Problem: 1747  User: Uriel 
   Memory: 1184K  Time: 141MS 
   Language: C++  Result: Accepted
*/
 

#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>

char str[105][10000];
char temp[102][4]={"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30",
                   
"31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60",
                   
"61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89",
                   
"90","91","92","93","94","95","96","97","98","99","100"}
;
int n,st;

int min(int a,int b)
{
    
return a < b ? a: b;
}


void Sov(int a)
{
    
if(a==1)return ;
    Sov(a
-1);
    strcpy(str[a],
"((A");
    strcat(str[a],temp[a
-1]);
    strcat(str[a],
"|B");
    strcat(str[a],temp[a
-1]);
    strcat(str[a],
")|(");
    strcat(str[a],str[a
-1]);
    strcat(str[a],
"|((A");
    strcat(str[a],temp[a
-1]);
    strcat(str[a],
"|A");
    strcat(str[a],temp[a
-1]);
    strcat(str[a],
")|(B");
    strcat(str[a],temp[a
-1]);
    strcat(str[a],
"|B");
    strcat(str[a],temp[a
-1]);
    strcat(str[a],
"))))");
}


int main()
{
    scanf(
"%d",&n);
    memset(str,
0x00,sizeof(str));
    strcpy(str[
1],"((A0|B0)|(A0|B0))");
    st
=1;
    Sov(n);
    
for(int i=0;i<min(strlen(str[n]),50*n);i++)
    
{
        printf(
"%c",str[n][i]);
    }

    printf(
"\n");
    
return 0;
}



只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理