博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #561 (Div. 2) B. All the Vowels Please
阅读量:6261 次
发布时间:2019-06-22

本文共 1406 字,大约阅读时间需要 4 分钟。

链接:

题意:

Tom loves vowels, and he likes long words with many vowels. His favorite words are vowelly words. We say a word of length kk is vowelly if there are positive integers nn and mm such that nm=kn⋅m=k and when the word is written by using nn rows and mm columns (the first row is filled first, then the second and so on, with each row filled from left to right), every vowel of the English alphabet appears at least once in every row and every column.

You are given an integer kk and you must either print a vowelly word of length kk or print 1−1 if no such word exists.

In this problem the vowels of the English alphabet are 'a', 'e', 'i', 'o' ,'u'.

 思路:

先求出k的所有因子,如果能找到两个大于等于5的因子,就挨个往矩阵里填因子,

否则就-1.

代码:

#include 
using namespace std;typedef long long LL;char s[5] = {'a', 'e', 'i', 'o', 'u'};int main(){ int n; cin >> n; set
yinzi; for (int i = 1;i*i <= n;i++) if (n%i == 0) yinzi.insert(i), yinzi.insert(n/i); for (auto it = yinzi.begin();it != yinzi.end();++it) { if ((*it) >= 5 && n/(*it) >= 5) { for (int i = 0;i < (*it);i++) { int pos = i; for (int j = 1;j <= n/(*it);j++) cout << s[(pos++)%5]; } return 0; } } cout << -1 << endl; return 0;}

  

转载于:https://www.cnblogs.com/YDDDD/p/10900121.html

你可能感兴趣的文章
Android Activity的使用,持续更新
查看>>
空校验
查看>>
Linux 学习,密钥、mkdir、rm 、cp 、ls、cp、mv 命令,以及快捷键。
查看>>
Python的multiprocessing模块详解
查看>>
切换用户su命令、授权sudo命令、限制root远程登录
查看>>
Linux -特殊权限-set_uid、set_gid、stick_bit
查看>>
Spring框架入门
查看>>
Spring-Batch学习总结(1)——重要概念,环境搭建,名词解释,第一个项目及异常处理...
查看>>
关于爱情(系列)
查看>>
Linux 硬链接与软链接详解(1)老男孩教育
查看>>
APP是怎么精确统计下载数量?
查看>>
架构师教你部署 MySQL 高可用方案!
查看>>
@Before 参数
查看>>
第21课《为什么不学三大框架》
查看>>
如何实现分享网站文章到微信朋友圈时显示指定缩略图或LOGO
查看>>
我的友情链接
查看>>
分享2
查看>>
在VMware中的linux系统中创建逻辑卷
查看>>
Ubuntu Desktop 17.10
查看>>
mongodb中分页显示数据集的学习
查看>>