模拟赛
1.斐波那契
题目描述
输入格式
输出格式
输入输出样例
输入
666 10086
输出
7126
说明/提示
题意分析
求斐波那契数列%k后的值
解题思路
暴力
注:1%1=0
AC代码
#include<cstdio>
using namespace std;
long long n,k,f[1000005];
int main()
{
scanf("%lld%lld",&n,&k);
f[1]=f[2]=1; //初值
for(long long i=3;i<=n;i++)//斐波那契
f[i]=((f[i-1]%k)+(f[i-2]%k))%k;
printf("%lld",f[n]%k); //最后记得%k
return 0;
}
2.复习大战
题目描述
输入格式
输出格式
输入输出样例
输入
10
Chinese
chinese
Maths
Maths
Chinese
History
Oi
OI
oI
oi
输出
Chinese 2
History 1
Maths 2
OI 1
Oi 1
chinese 1
oI 1
oi 1
说明/提示
数据规模与约定
提示
题意分析
求出每个英文出现几次
解题思路
快排+暴力
AC代码
#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int n,o;
string s[1005];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)cin>>s[i];
sort(s+1,s+n+1);//快排
o=1;
for(int i=1;i<=n;i++)//暴力
if(s[i]!=s[i+1])cout<<s[i]<<' '<<o<<endl,o=1;
else o++;
return 0;
}
3.数位问题
题目描述
输入格式
输出格式
输入输出样例
输入
20
0 0 2 0 1 0 0 0 0
0 0 1 2 0 0 0 0 0
0 0 0 0 1 1 0 0 0
3 0 2 1 0 1 0 0 0
3 4 0 0 0 0 0 0 0
5 1 0 0 0 0 1 0 0
15 0 0 0 1 0 0 0 0
14 1 1 0 0 0 0 0 0
15 1 0 0 0 0 0 0 0
97 0 1 0 0 0 1 0 0
91 2 0 0 0 0 0 0 0
97 2 0 1 0 0 0 0 0
99 0 0 0 0 0 1 0 0
94 5 1 0 0 0 0 0 0
97 1 0 0 0 0 0 0 0
95 5 0 0 0 0 0 0 0
5 92 2 1 0 0 0 0 0
96 1 3 0 0 0 0 0 0
96 2 2 0 0 0 0 0 0
96 4 0 0 0 0 0 0 0
输出
5
5
3
9
13
11
19
23
25
101
101
105
105
103
107
105
101
103
100
100
说明/提示
解题思路
数位dp或暴力
未AC
4.国王饮水记
题目描述
输入格式
输出格式
输入输出样例
输入
5 10
5 2 18903
1 2 74504
5 1 22377
1 4 55995
3 1 44838
4 1 19622
1 2 62132
1 5 59540
5 4 56342
5 3 27255
输出
18903 1
93407 3
41280 3
97275 4
142113 5
105740 5
105740 5
105740 5
105740 5
88157 5
说明/提示
数据规模与约定
提示
未做
总结
这次考试
预估:100+100+0+0=200
实际:90+100+0+0=190
排名中等
有进步空间