#include
#includeusing namespace std;
#includevectorblock[30];
int n;
//初始化
void init()
{cin >>n;
for (int i = 0; i< n; i++)
{block[i].push_back(i);//一开始木块的位置都是在原位
}
}
//输出下标和高度
void location(int x,int &p,int &h)
{for (int i = 0; i< x; i++)
{for (int j = 0; j< block[i].size(); j++)
{ p = i;//在第几个木堆
h = j;//所在的这个木堆有多高
}
}
}
//归位
void goback(int p,int h)//p位>h之上全部归位
{for (int i = h + 1; i< block[p].size(); i++)
{int k = block[p][i];//
block[k].push_back(k);
}
block[p].resize(h + 1);//重置大小 0-h
}
//移动
void move(int ap, int ah, int bp)
{for (int i = ah ; iint k = block[ap][i];
block[bp].push_back(k);
}
block[ap].resize(ah);
}
void solve()
{int a, b;
string s1, s2;
while (cin >>s1)
{if (s1 == "quit")
{ break;//退出while语句
}
else
{ cin >>a >>s2 >>b;
int ap = 0, ah = 0, bp = 0, bh = 0;//p是堆号,h是高度
location(a, ap, ah);
location(b, bp, bh);
if (ap == bp)
{ continue;
}
if (s1 == "move")//a归位
{ goback(ap, ah);
}
if (s2 == "onto")
{ goback(bp, bh);
}
move(ap, ah, bp);
}
}
}
void print()
{for (int i = 0;icout<< i<< ":";
for (int j = 0; j< block[i].size(); j++)
{ cout<< block[i][j]<< " ";
}
cout<< endl;
}
}
int main()
{init();
solve();
print();
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
专注于为中小企业提供成都网站建设、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业内丘免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。