1 条题解
-
1
#include<bits/stdc++.h> using namespace std; /* n个数,数值是1~n,求出现次数最多的数 思路: 1、用长度为1010的数组,统计每个数出现的次数 2、求出现次数最多的数 如果有多个相同的数,取最小的 相当于求:数组的最大数下标 */ int a[1010], n, x; int main() { cin >> n >> x; for(int i = 1; i <= n; i++){ a[x]++; x = (x*37+33031) % n + 1; } //求a数组最大数下标 int ma = 1; //这里的循环范围应该是统计范围 //本题:每个数的服务是1~n,因此这个循环2~n for(int i = 2; i <= n; i++){ if(a[i] > a[ma]){ ma = i; } } cout << ma; return 0; }
- 1
信息
- ID
- 554
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 24
- 已通过
- 23
- 上传者