#include <bits/stdc++.h>
using namespace std;
int first[50],last[50],ans;
void hanoi(int x,int y){
    if(first[x]==y)return ;
    for(int l=x-1;l>0;l--)
    hanoi(l,6-first[x]-y);
    printf("move %d from %c to %c\n",x,first[x]+'A'-1,y+'A'-1);
    first[x]=y;
    ans++;
}
int main(){
    ios::sync_with_stdio(false);
    int n;
    cin>>n;
    for(int i=1;i<=3;i++){
        int x,m;
        cin>>m;
        for(int j=1;j<=m;j++)cin>>x,first[x]=i;
    }
    for(int i=1;i<=3;i++){
        int x,m;
        cin>>m;
        for(int j=1;j<=m;j++)cin>>x,last[x]=i;
    }
    for(int i=n;i>0;i--)hanoi(i,last[i]);
    cout<<ans;      
    return 0;
}

1 条评论

  • 1

信息

ID
1548
难度
6
分类
(无)
标签
递交数
26
已通过
10
通过率
38%
被复制
2
上传者