三题C语言题,可用C++,谢谢啦

高分请教一下,三题C语言题,可用C++,谢谢啦?

1.做游戏(game)
问题描述:
有m个小孩子围成一圈做游戏,每个小孩子都有一个初始的号码。游戏有x步,每一步的操作方法都相同:每个小孩子把自己手上的号码改写成自己原来的号码加上右手边的小孩子的号码的和除以100的余数。请问:经x步之后,每个小孩子手上的号码是多少? 比如:有3个初始编号为{1,2,3}的小孩子,第一步操作完成之后,他们的编号变成了{1+2,2+3,3+1}即{3,5,4}。
输入格式:
第一行为正整数t(≤100),表示测试数据组数;每组数据中,第一行为正整数m(≤100)和x(≤100),第二行为m个以空格隔开的正整数a[i](≤100)。
输出格式:
对于每组数据,输出m个以空格隔开的正整数,表示x步之后,每个小孩手上的号码。
输入样例
2
3 1
1 2 3
3 2
1 2 3
输出样例
3 5 4
8 9 7

2.最小的回文数(reverse)
问题描述:
输入一个正整数x,求大于等于x的最小回文数。
输入格式:
第一行为正整数t(≤100),表示测试数据组数;接下来t行,每行为一个正整数x。
输出格式:
对于每个正整数x,输出不超过x的最小回文数。
输入样例
3
1
192
12345
输出样例
1
202
12421
数据范围:
30%的数据,x<106,100%的数据,x<10^10000。

3.最小代价(cost)
问题描述:
给定一个正整数序列{a[n]},要求把它们修改成一个非降的序列{b[n]},修改每个元素的代价是|a[i]-b[i]|,编程求出最小的修改代价和。
输入格式:
第一行为正整数n(≤2000),接下来一行为n个以空格隔开的正整数ai(≤10^6)。
输出格式:
仅一个正整数,表示最小代价和。
输入样例
7
1 3 2 4 5 3 9
输出样例
3
第一题已解
最新回答
上线为调情

2024-11-07 00:44:30

#include <iostream>
using namespace std;
#define M 100
int main()
{
 int s[M],x,m,j;
 int group;
 cin>>group;
 for(int i=0;i<group;i++)
 {
    cin>>m>>x;  //m个 孩子,x步骤后;
    for(j=0;j<m;j++)
      cin>>s[j];
    for(int k=0;k<x;k++)
    {
       int temp=s[0];
          for(j=0;j<m-1;j++)
    s[j]=(s[j]+s[(j+1)%m])%100;
     s[m-1]=(s[m-1]+temp)%100;  
    for(j=0;j<m;j++)
       cout<<s[j]<<"  ";
    cout<<endl;    
    }
      } 
 return 0; 
}
追问
还有两题会吗
追答
没明白题意
追问
好吧。。