rt,本地VSC调试时报错调出了vector库中的size函数,求调
#include<bits/stdc++.h>
using namespace std;
vector<int> v[100];
int n;
void find(int p,int &x,int &y){
for(int i=0;i<n;i++){
int len=v[i].size();
for(int j=0;j<len;j++){
if(v[i][j]==p){
x=i,y=j;
return;
}
}
}
}
void pile_clear(int p){
int x,y;
find(p,x,y);
int len=v[x].size();
for(int i=y+1;i<len;i++)
v[v[x][i]].push_back(v[x][i]);
v[x].resize(y+1);
}
void move_onto(int p1,int p2){
pile_clear(p1);
pile_clear(p2);
int x2,y2;
find(p2,x2,y2);
v[x2].push_back(p1);
int x1,y1;
find(p1,x1,y1);
v[x1].clear();
}
void move_over(int p1,int p2){
pile_clear(p1);
int x2,y2;
find(p2,x2,y2);
v[x2].push_back(p1);
int x1,y1;
find(p1,x1,y1);
v[x1].pop_back();
}
void pile_onto(int p1,int p2){
pile_clear(p2);
int x1,y1;
find(p1,x1,y1);
int len=v[x1].size();
int x2,y2;
find(p2,x2,y2);
for(int i=y1;i<len;i++)
v[x2].push_back(v[x1][i]);
v[x1].resize(y1+1);
}
void pile_over(int p1,int p2){
int x1,y1,x2,y2;
find(p1,x1,y1);
find(p2,x2,y2);
int len=v[x1].size();
for(int i=y1;i<len;i++)
v[x2].push_back(v[x1][i]);
v[x1].resize(y1+1);
}
int main(){
cin>>n;
string s1,s2;
int a,b;
for(int i=0;i<n;i++)
v[i].push_back(i);
while(cin>>s1>>a>>s2>>b){
int x1,y1,x2,y2;
find(a,x1,y1);
find(b,x2,y2);
if(x1==x2)
continue;
if(s1=="move"){
if(s2=="onto"){
move_onto(a,b);
}
if(s2=="over"){
move_over(a,b);
}
}
if(s1=="pile"){
if(s2=="onto"){
pile_onto(a,b);
}
if(s2=="over"){
pile_over(a,b);
}
}
}
for(int i=0;i<n;i++){
cout<<i<<": ";
for(int j=0;j<v[i].size();j++)
cout<<v[i][j]<<' ';
cout<<endl;
}
return 0;
}