华为在线训练(5)
2016-07-29 19:18
363 查看
1、题目描述
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。
输入描述:整数N,后续N个名字
输出描述:每个名称可能的最大漂亮程度
2、题目描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
先计算出j=0列的数值,然后依次计算出每一行值并输出
给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。
每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。
给出多个名字,计算每个名字最大可能的“漂亮度”。
输入描述:整数N,后续N个名字
输出描述:每个名称可能的最大漂亮程度
//思路:不知道字符的漂亮度,把出现次数最多的字符定义为最大漂亮度,依据出现的次数,漂亮度依次递减。这样求出最大的漂亮度 // #include <iostream> #include<string> #include<algorithm> using namespace std; int main() { int test; while (cin >> test) { while (test--) { string st; cin >> st; int i, a[26] = {0}, k = 26, res = 0; for (i = 0; i < st.length(); ++i) { if (st[i] >= 'a' && st[i] <= 'z') a[st[i] - 'a']++; else a[st[i] - 'A']++; } sort(a, a + 26); for (i = 25; i >= 0; --i) res += a[i] * k--; cout << res << endl; } } return 0; }
2、题目描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
先计算出j=0列的数值,然后依次计算出每一行值并输出
<pre name="code" class="cpp">#include<stdio.h> #include<iostream> using namespace std; int main() { int a[100][100]={0}; int N=6; a[0][0]=1; for(int i=0;i<N;i++) { if(i>=1) a[i][0]=a[i-1][0]+i+0;//先计算a[i][0]的数值 cout<<a[i][0]; for(int j=1;j<N-i;j++)//根据相邻数据的关系,依次计算并输出该行 { a[i][j]=i+j+a[i][j-1]+1; cout<<" "<<a[i][j]; } cout<<endl; } return 0; }
相关文章推荐
- 图片轮番
- Codeforces 204B Little Elephant and Cards
- 淘宝放大镜效果
- Linux下使用Vi时方向键变乱码、删除键不能使用的解决方法(亲测有效)
- hive创建表失败,drop表失败
- HDU 1517 A Multiplication Game(博弈)
- Find a way<hdoj2612>
- 趣味100道C语言编程题
- Selenium2学习笔记二
- hdu 5763 Another Meaning(2016 Multi-University Training Contest 4——dp+kmp)
- Jump Game
- JS中setTimeout()的用法详解
- UIScrollView的循环滚动+UIPageControll+NSTimer实现的自动循环滚动播放最终完善版
- 字符串匹配算法 之 (Horspool )Boyer-Moore-Horspool
- 使用 Date 和 SimpleDateFormat 类表示时间
- java语言基础入门——异常处理
- hadoop简单实例-WordCount
- 开源新闻速递:ArchEX Build 160724 发布
- I.MX6 查找占用UART进程
- 关闭Eclipse的控制台console自动跳出