题解 洛谷P7227 【[COCI2015-2016#3] ESEJ】

在做过许多题目之后,觉得这个比较简单!(不知道为什么,就是喜欢做 Special Judge

题目传送门

题目说:

  • 这篇文章至少 a a a 个词,最多 b b b 个词

  • 文章至少包含 b 2 \dfrac{b}{2} 2b​ 个不同的单词

从第1点中不好做确定一定要写多少个单词。

因为不好确定,那么我们不妨只写 b b b个单词!

对于第二点,我们可以使用字典序来把每一个字母转换成数字,就尽可能避免单词重复次数:

a b c d e f g h i j
0 1 2 3 4 5 6 7 8 9

这样的话就可以写出许多不同的单词,我们每一次只需要输出char类型的 (‘a’+对应数字)

即:

printf("%c",(char)'a'+n%10);

那么我们就轻而易举的 A C AC AC了!

A C AC AC代码:

#include<bits/stdc++.h>
using namespace std;
int i;
int main(){
	int a,b; scanf("%d%d",&a,&b);
	while(b--){
		i++;
		int n=i;//做一个替换,避免i的值被修改
		while(n){
			printf("%c",(char)'a'+n%10);
			n/=10;
		}//输出单词!
		printf(" ");
	}
	return 0;
}

完结撒花!

上一篇:2021年下半年网络工程师下午真题及答案解析


下一篇:菜鸟杯总结