当前位置:   article > 正文

【入门】数字翻转(无函数)_题目描述给定一个n个数的数组,m次操作。每次操作将数组的一段翻转,求最后的数组。

题目描述给定一个n个数的数组,m次操作。每次操作将数组的一段翻转,求最后的数组。
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <bits/stdc++.h>
  4. using namespace std;
  5. int arr[1005];
  6. int n,m;
  7. int a,b;
  8. void change(int a,int b){
  9. int temp;
  10. for(a;a<b;a++,b--){
  11. temp=arr[b];
  12. arr[b]=arr[a];
  13. arr[a]=temp;
  14. }
  15. }
  16. int main(){
  17. scanf("%d %d",&n,&m);
  18. for(int i=0;i<n;i++){
  19. scanf("%d",arr[i]);
  20. }
  21. for(int i=0;i<m;i++){
  22. scanf("%d %d\n",&a,&b);
  23. change(a-1,b);
  24. }
  25. for(int i=0;i<n;i++){
  26. printf("%d ",arr[i]);
  27. }
  28. return 0;
  29. }

Description

给定一个N个数的数组,M次操作。每次操作将数组的一段翻转,求最后的数组。(后期可以尝试reverse函数

Input

第一行两个整数N,M(N,M≤1000)含义见试题描述。

第二行N个整数,表示原来的数组。

接下来M行,每行两个整数X,Y(1≤X≤Y≤N),表示翻转区间[X,Y]。

Output

一行N个整数,表示操作后的数组。

Sample Input 1 

5 2
1 2 3 4 5
2 4
4 5

Sample Output 1

1 4 3 5 2

Source

容器 vector

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/670245
推荐阅读
相关标签
  

闽ICP备14008679号