»ªÄÏÅ©Òµ´óѧÊý¾Ý½á¹¹ÉÏ»ú´ð°¸ÊµÑé ÁªÏµ¿Í·þ

·¢²¼Ê±¼ä : ÐÇÆÚÈý ÎÄÕ»ªÄÏÅ©Òµ´óѧÊý¾Ý½á¹¹ÉÏ»ú´ð°¸ÊµÑé¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ

} int main() { check(); }

8587 Ðб༭³ÌÐò

ʱ¼äÏÞÖÆ:1000MS ÄÚ´æÏÞÖÆ:1000K Ìá½»´ÎÊý:578 ͨ¹ý´ÎÊý:173

ÌâÐÍ: ±à³ÌÌâ ÓïÑÔ: ÎÞÏÞÖÆ

Description

ÀûÓÃÕ»±àд¼òµ¥µÄÐб༭³ÌÐò£º½ÓÊÜÓû§´ÓÖÕ¶ËÊäÈëµÄ³ÌÐò»òÊý¾Ý£¬ÔÚÊäÈë¹ý³ÌÖУ¬ÔÊÐíÓû§ÊäÈë³ö²î´í£¬²¢ÔÚ·¢ÏÖÓÐÎóʱ¿ÉÒÔ¼°Ê±¸üÕý¡£ÀýÈ磺

µ±Óû§·¢ÏÖ¸Õ¸Õ¼üÈëµÄÒ»¸ö×Ö·ûÊÇ´íµÄʱ£¬¿ÉÒÔ²¹½øÒ»¸öÍ˸ñ·û¡°#¡±£¬ÒÔ±íʾǰһ¸ö×Ö·ûÎÞЧ£»Èç¹û·¢ÏÖµ±Ç°¼üÈëµÄÐÐÄÚ²î´í½Ï¶à»òÄÑÒÔ²¹¾È£¬Ôò¿ÉÒÔ¼üÈëÒ»¸öÍËÐзû¡°@¡±£¬ÒÔ±íʾµ±Ç°ÐÐÖеÄ×Ö·û¾ùÎÞЧ¡£ÀýÈ磺¼ÙÉè´ÓÖն˽ÓÊÜÁËÕâÑùÁ½ÐÐ×Ö·û£º whli##ilr#e (s#*s) outcha@putchar(*s=#++); Ôòʵ¼ÊÓÐЧµÄÊÇÏÂÁÐÁ½ÐУº while (*s) putchar(*s++); ±¾ÌâÄ¿¸ø³ö²¿·Öº¯Êý£¬ÒªÇó½«Ðб༭º¯Êý²¹³äÍêÕû£¬²¢Íê³ÉÕû¸ö³ÌÐò¡£

typedef char SElemType; #include"malloc.h" #include"stdio.h" #include"math.h" #include"stdlib.h" // exit() #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0

typedef int Status; // StatusÊǺ¯ÊýµÄÀàÐÍ,ÆäÖµÊǺ¯Êý½á¹û״̬´úÂ룬ÈçOKµÈ

#define STACK_INIT_SIZE 10 // ´æ´¢¿Õ¼ä³õʼ·ÖÅäÁ¿ #define STACKINCREMENT 2 // ´æ´¢¿Õ¼ä·ÖÅäÔöÁ¿

struct SqStack {

SElemType *base; // ÔÚÕ»¹¹Ôì֮ǰºÍÏú»ÙÖ®ºó£¬baseµÄֵΪNULL SElemType *top; // Õ»¶¥Ö¸Õë

int stacksize; // µ±Ç°ÒÑ·ÖÅäµÄ´æ´¢¿Õ¼ä£¬ÒÔÔªËØΪµ¥Î» }; // ˳ÐòÕ»

Status InitStack(SqStack &S) { // ¹¹ÔìÒ»¸ö¿ÕÕ»S

S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType)); if(!S.base) return ERROR; S.top=S.base;

S.stacksize=STACK_INIT_SIZE; return OK; }

Status StackEmpty(SqStack S)

{ // ÈôÕ»SΪ¿ÕÕ»£¬Ôò·µ»ØTRUE£¬·ñÔò·µ»ØFALSE if(S.top==S.base) return TRUE; else return FALSE; }

Status ClearStack(SqStack &S) { // °ÑSÖÃΪ¿ÕÕ»

S.top=S.base; return OK; }

Status DestroyStack(SqStack &S) { // Ïú»ÙÕ»S£¬S²»ÔÙ´æÔÚ free(S.base); S.base=NULL; S.top=NULL; S.stacksize=0; return OK; }

Status Push(SqStack &S,SElemType e) { // ²åÈëÔªËØeΪеÄÕ»¶¥ÔªËØ if(S.top-S.base>=S.stacksize){ S.base=(SElemType*)realloc(S.base,(S.

stacksize+STACKINCREMENT)*sizeof(SElemType)); if(!S.base) return ERROR; S.top=S.base+S.stacksize; S.stacksize+=STACKINCREMENT;