问题标题: 酷町堂:5133 折叠数组3

0
0
已解决
武建豪
武建豪
中级天翼
中级天翼

#include<iostream>

#include<fstream>

#include<algorithm>

#include<cmath>

#include<cstdio>

#include<cstring>

#include<string>

#include<iomanip>

#include<cstdlib>

#include<vector>

using namespace std;

int n,m,a[200];

int main(){

    cin>>n;

    for(int i=1;i<=n;i++){

        cin>>a[i];

    }

    int m=(n+1)/2;

     if(n%2==0){

for(int i=1;i<=n/2;i++){

cout<<a[i]+a[n+1-i]<<" ";

}

}

else{

for(int i=1;i<=(n+1)/2-1;i++){

cout<<a[i]+a[n+1-i]<<" ";

}

cout<<a[(n+1)/2]<<" ";

}

    return 0;

}

/*5133 折叠数组3经验值:0 时间限制:1000毫秒

题目描述 Description

输入一个数组,右半边折到左半边,折叠m次,折叠后不是累加,是直接覆盖。输出m次折叠后的数组

 

输入描述 Input Description

输入2行

第一行输入2个正整数,n和m

第二行输入n个整数 (数字之间用空格隔开)

 

输出描述 Output Description

输出1行

输出对折m次后的数组

 

样例输入 Sample Input

样例输入1:

6 2

1 2 3 4 10 6

 

样例输入2:

8 2

1 4 6 7 3 2 8 9

样例输出 Sample Output

样例输出1:

4 10

 

样例输出2:

3 2

数据范围及提示 Data Size & Hint

n<100*/

 

 

那里错了。。。

武建豪在2021-07-30 12:10:48追加了内容

ding

武建豪在2021-07-30 12:22:39追加了内容

ding


0
已采纳
王文博
王文博
缔造者之神
缔造者之神

这道题目和之前的差不多

核心代码如下:(都是改动了一点点)

while(m--)
    {
        for(int i=1;i<=n/2;i++)
        {
            a[i]=a[n+1-i];
        }
        if(n%2==0) n=n/2;
        else n=n/2+1;
    }

 

0
我要回答