模拟赛

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
排名中等
有进步空间

谢谢