PAT A 1051
来源:互联网 发布:淘宝冲印照片哪家好 编辑:程序博客网 时间:2024/05/01 04:21
#include <stdio.h>
#include <malloc.h>
typedef struct
{
int a[100100];
int top;
}*Stack,SeqStack;
int arr[10010];
Stack init()
{
Stack ps=(Stack)malloc(sizeof(SeqStack));
if(ps==NULL)
return NULL;
else
{
ps->top=-1;
return ps;
}
}
int empty(Stack ps)//我们来判断是栈空了
{
if(ps->top==-1)
return 0;
else
return 1;
}
void pop(Stack ps)
{
if(empty(ps)==1)
ps->top--;
else
return ;
}
void push(Stack ps,int val)
{
ps->top++;
ps->a[ps->top]=val;
}
void clear(Stack ps)
{
ps->top=-1;
}
int gettop(Stack ps)
{
if(empty(ps)==1)
return ps->a[ps->top];
else
return 0;
}
int size(Stack ps)
{
return ps->top+1;
}
int main()
{
Stack ps;
int i,n,m,T,current,flag;
ps=init();
scanf("%d %d %d",&m,&n,&T);
while(T--)
{
while(empty(ps)==1)//清空栈
pop(ps);
for(i=1;i<=n;i++)
scanf("%d",&arr[i]);
current=1;
flag=0;
for(i=1;i<=n;i++)
{
push(ps,i);
if(size(ps)>m)
{
flag=1;
break;
}
while(empty(ps)==1&&gettop(ps)==arr[current])
{
current++;
pop(ps);
}
}
if(empty(ps)==0&&flag==0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
#include <malloc.h>
typedef struct
{
int a[100100];
int top;
}*Stack,SeqStack;
int arr[10010];
Stack init()
{
Stack ps=(Stack)malloc(sizeof(SeqStack));
if(ps==NULL)
return NULL;
else
{
ps->top=-1;
return ps;
}
}
int empty(Stack ps)//我们来判断是栈空了
{
if(ps->top==-1)
return 0;
else
return 1;
}
void pop(Stack ps)
{
if(empty(ps)==1)
ps->top--;
else
return ;
}
void push(Stack ps,int val)
{
ps->top++;
ps->a[ps->top]=val;
}
void clear(Stack ps)
{
ps->top=-1;
}
int gettop(Stack ps)
{
if(empty(ps)==1)
return ps->a[ps->top];
else
return 0;
}
int size(Stack ps)
{
return ps->top+1;
}
int main()
{
Stack ps;
int i,n,m,T,current,flag;
ps=init();
scanf("%d %d %d",&m,&n,&T);
while(T--)
{
while(empty(ps)==1)//清空栈
pop(ps);
for(i=1;i<=n;i++)
scanf("%d",&arr[i]);
current=1;
flag=0;
for(i=1;i<=n;i++)
{
push(ps,i);
if(size(ps)>m)
{
flag=1;
break;
}
while(empty(ps)==1&&gettop(ps)==arr[current])
{
current++;
pop(ps);
}
}
if(empty(ps)==0&&flag==0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
0 0
- PAT A 1051
- PAT-A-1051 Pop Sequence 【栈】
- PAT A A+B Format
- pat: 1016 A+B
- PAT [A] 1054
- Pat(A) 1002
- PAT(A) 1005
- PAT(A) 1006
- PAT(A) 1007
- PAT(A) 1008
- PAT(A) 1009
- PAT(A) 1011
- PAT(A) 1012
- PAT(A) 1015
- PAT(A) 1031
- PAT(A) 1035
- PAT(A) 1013
- PAT(A) 1019
- getchar&putchar\practice_2
- [LeetCode]263. Ugly Number
- 二、HDFS
- Java并发笔记二——sychronization
- Android开发命名规范和编码规范
- PAT A 1051
- 取模运算的另一种实现
- Codeforces 803C Maximal GCD 题解
- 利用link的rel=“alternate stylesheet”实现类似夜间模式的这类换肤功能
- 将后台List对象以Json格式返回到前台Ajax请求
- 乌班图下基于openssl的密码学实验
- sdust 2681 求个最大值 (数学+思维)
- C语言学习历程——编程练习2——02
- 精讲WEB前端之Flex弹性盒模型属性,对比每一属性值和效果