进阶PAT 2021-12-25 15:52 采纳率: 78.4%
浏览 103
已结题

C++圣诞节快乐⊙▽⊙

C最近玩上了新游戏,他想在网上交一些朋友,但他不知道应该交什么样的朋友。
首先,小C需要一个随机数生成器来帮助他进行选择,小C找到了一个可生成n个可行朋友id的随机数生成器,代码如下
include<iostream>

using namespace std;
int n,seed,arr[1000001];
void Rand(int seed)
{
seed|=0x123456 ;
for(int i=1;i<=n;i++){
arr[i ]=seed;
seed^=(arr[i]+i);
seed%=10000000;
seed+=1;
}
}
int main()
{
cin>>n>>seed;Rand( seed);
//todo
return 0;
}
得到n个随机数后将他们进行排序。小C会进行m次挑选,每次挑选下标为x的数,选择第x大的数的人交朋友。
输入格式:
第一行包括两个数字n seed
第二行输入一个数字m表示将会进行n组询问
接下来m行 每i行包含一个数字xi,表示将要选择第xi大的数

输出格式:
输出包括m行 每行输出询问的结果
输入样例
10 233
5
2
4
6
8
10
输出样例:
6
10
25
60
1193215
数据范围与提示
n<=1e7,m<=1e5

  • 写回答

2条回答 默认 最新

  • 南七灵 2021-12-25 16:21
    关注
    
    #include <iostream>
    using namespace std;
    int n, seed, arr[1000001];
    void Rand(int seed)
    {
        seed |= 0x123456;
        for (int i = 1; i <= n; i++)
        {
            arr[i] = seed;
            seed ^= (arr[i] + i);
            seed %= 10000000;
            seed += 1;
        }
    }
    int main()
    {
        cin >> n >> seed;
        Rand(seed);
        //降序排序
        for (int i = 1; i <= n; i++)
        {
            for (int j = 1; j <= n - i; j++)
            {
                if (arr[j] > arr[j + 1])
                {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        int m,t = 0;
        cin >> m;
        int a[m];
        for(int i = 0;i < m;i++){
            cin >> a[i];
        }
        for(int i = 0;i < m;i++){
            cout << arr[a[i]] << endl;
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 12月25日

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答