网站开发的前端框架有哪些,贵德县wap网站建设公司,网站开发实战第二章,建设网站的申请报告题目#xff1a;
n块积木#xff0c;编号1到n#xff0c;初始时#xff0c;第i块放在第i个位置。现在#xff0c;进行a b操作#xff0c;每次操作把b位置积木全放到a位置上。输出操作完之后每个位置上的木块。 输入:n,m。n代表有n个积木#xff0c;m代表有m个操作…题目
n块积木编号1到n初始时第i块放在第i个位置。现在进行a b操作每次操作把b位置积木全放到a位置上。输出操作完之后每个位置上的木块。 输入:n,m。n代表有n个积木m代表有m个操作接下来m行是m个操作。如果ab相等则本次不移动木块。 输出每个位置从下到上积木编号如果该位置没有积木输出空行 样例输入 2 2 1 2 1 2 样例输出 1 2
样例输入 4 4 3 1 4 3 2 4 2 2 样例输出
2 4 3 1
分析与解答
开二维数组回爆内存所以用动态数组vector。 每次转移之后要清掉被转移的vector的内存。 具体就是先初始化然后根据操作转移清空内存最后输出即可。
#includeiostream
#includecstdio
#includevector
#includealgorithmusing namespace std;int main(){int n,m;cinnm;vectorint c[10011];for(int i1;in;i){c[i].push_back(i);}for(int i1;im;i){int a,b;cinab;if(ab) continue;else{for(int j0;jc[b].size();j){c[a].push_back(c[b][j]);}vectorint().swap(c[b]); } }for(int i1;in;i){for(int j0;jc[i].size();j){if(j!c[i].size()-1) coutc[i][j] ;else coutc[i][j];}coutendl;}
}