#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int T;
scanf("%d",&T);
while(T--)//幾組樣例
{
int n,q;
scanf("%d %d",&n,&q);
int a[n][q];
int b[3];//每一行的資料
int c[n]={0};//確定每個堆疊已存的個數 ,指向尾部后一個
while(q--)//操作的個數
{
scanf("%d",&b[0]);
if(b[0]==1)//1操作
{
scanf("%d %d",&b[1],&b[2]);
a[b[1]-1][c[b[1]-1]] =b[2];
c[b[1]-1]++;
}
else if(b[0]==2)//2操作
{
scanf("%d",&b[1]);
if(c[b[1]-1]==0)
printf("EMPTY\n");//空
else
{
printf("%d\n",a[b[1]-1][c[b[1]-1]-1]);
c[b[1]-1]--;//彈出
}
}
else//3操作
{
scanf("%d %d",&b[1],&b[2]);
int i=0;
while(c[b[2]-1]!=0)
{
a[b[1]-1][c[b[1]-1]++]=a[b[2]-1][i];
c[b[2]-1]--;
i++;
}
}
}
}
}


uj5u.com熱心網友回復:
具體沒細看,scanf("%d %d",&n,&q);
int a[n][q]; //這里動態陣列有的編譯器不支持這么定義,所以保險起見還是new或malloc動態申請記憶體的好
uj5u.com熱心網友回復:
可能有的C編譯器:scanf("%d %d",&n,&q);
int a[n][q];不支持這樣的語法
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/93115.html
標籤:新手樂園
