模拟赛四补题报告

注:本次补题报告没有题目大意,因为作者《突发恶疾》(人话:懒得写),所以不写了(doge)

题目

三个(three)

合体(fit) 矩阵(matrix)

数对(pair)

赛中得分 100 100 30 20
赛后得分 100 100 100 100

题目分析

T1:三个(three)

1.1 问题描述

现在科学家在培养 A,B,C 三种微生物,这三种微生物每一秒都会繁殖出新的微生物,具体规则为:

A 类微生物每一秒会繁殖出 1 个 A 类微生物,1 个 B 类微生物,1 个 C 类微生物。
B 类微生物每一秒会繁殖出 2 个 A 类微生物,2 个 C 类微生物。
C 类微生物每一秒会繁殖出 1 个 A 类微生物,1 个 B 类微生物。

假设所有的微生物都不会死亡,一开始培养皿中有 A,B,C 三种微生物各 1 个,现在问你 n 秒后 A,B,C 三种微生物分别有奇数个还是偶数个。

1.2 输入格式

从文件 three.in 中读取数据。

一行一个整数 n。

1.3 输出格式

输出到文件 three.out 中。

输出总共三行:

第一行:若 n 秒后 A 类微生物有奇数个,输出 odd,否则输出 even
第二行:若 n 秒后 B 类微生物有奇数个,输出 odd,否则输出 even
第三行:若 n 秒后 C 类微生物有奇数个,输出 odd,否则输出 even

1.4 输入样例1
3
1.5 输出样例1
odd
odd
odd
1.6 输入样例2
4
1.7 输出样例2
odd
odd
even
1.8 输入样例3
233
1.9 输出样例3
even
even
odd
1.10 数据描述

总共 20 个测试点:

对于测试点 1∼4:1≤n≤3。
对于测试点 5∼8:1≤n≤100。
对于测试点 9∼20:1≤n≤10^6​​。

题目分析

 刚开始随便打个暴力,结果发现会炸(当然包括开long long)

主要是我忘了只判断奇偶就行了,打了个小表找规律,长这个样子:

long long a=1,b=1,c=1;
	for(int i=1;i<=n;i++){
		long long na=a+2*b+c,nb=a+c,nc=a+b*2;
		a=na+a;b=nb+b;c=nc+c;
		cout<<i<<' ';
		if(a%2==0)cout<<"even ";
		else cout<<"odd ";
		if(b%2==0)cout<<"even ";
		else cout<<"odd ";
		if(c%2==0)cout<<"even\n";
		else cout<<"odd\n";
	}

1 odd odd even
2 even even odd
3 odd odd odd
4 odd odd even
5 even even odd
6 odd odd odd
7 odd odd even
8 even even odd
9 odd odd odd
10 odd odd even

…………</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值