UVA - 10602 Editor Nottoobad
来源:互联网 发布:网络文明传播志愿小组 编辑:程序博客网 时间:2024/05/29 16:54
题目大意:给出一系列单词,可以重复上一个单词、删除单词尾部字母、键入字母,每键入一个字母算按键盘一次,别的操作不记数,第一个单词必须先输入,剩余单词顺序可随意,问输入这些单词最少需要按多少次键盘。
解题思路:因为允许重复上一个单词和删除尾部字母,那么当前单词和上一个单词的前缀最相似的情况下,键入次数会最少,按照这个思路去排序,然后统计一下不同的字母个数就是答案。
#include<iostream> #include<cstdio>#include<cmath>#include<string.h>#include<stdlib.h>#include<algorithm>#include<queue>using namespace std;char str[110][110];int ans, T, N;void fun() { int len, len1, len2, tag, tmp, Max; char s[110]; for (int i = 0; i < N; i++) { len1 = strlen(str[i]); Max = 0; tag = i+1; for (int j = i+1; j < N; j++) { len2 = strlen(str[j]); len = len1 > len2 ? len2 : len1; tmp = 0; for (int k = 0; k < len; k++) if (str[i][k] == str[j][k]) tmp++; else break; if (tmp > Max) { Max = tmp; tag = j; } } if (tag != i+1) { strcpy(s, str[i+1]); strcpy(str[i+1], str[tag]); strcpy(str[tag], s); } }}int main() { scanf("%d", &T); while (T--) { memset(str, 0, sizeof(str)); scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%s", str[i]); } fun(); int ans = strlen(str[0]); for (int i = 1; i < N; i++) { int t = 0; for (int j = 0; j < strlen(str[i-1]); j++) if (str[i][j] == str[i-1][j]) t++; else break; ans += strlen(str[i]) - t; } printf("%d\n", ans); for (int i = 0; i < N; i++) printf("%s\n", str[i]); } return 0;}
0 0
- UVa 10602 - Editor Nottoobad
- UVa 10602 - Editor Nottoobad
- uva 10602 - Editor Nottoobad
- UVA 10602 - Editor Nottoobad
- UVA 10602 - Editor Nottoobad
- uva 10602 Editor Nottoobad
- UVA 10602 EDITOR NOTTOOBAD
- UVa 10602 - Editor Nottoobad
- UVA - 10602 Editor Nottoobad
- UVA - 10602 Editor Nottoobad
- uva 10602 Editor Nottoobad
- UVA 10602 - Editor Nottoobad
- UVA - 10602 Editor Nottoobad
- uva 10602 Editor Nottoobad(排序)
- EDITOR NOTTOOBAD - UVa 10602 贪心
- UVA 10602 Editor Nottoobad(贪心)
- UVa 10602 Editor Nottoobad (等价转换思想)
- uva - 10602 - Editor Nottoobad(贪心)
- 用反卷积(Deconvnet)可视化理解卷积神经网络
- VS2013修改 项目配置名称
- css圆角制作。
- C#debug跟踪C++DLL源码
- 事务的隔离级别
- UVA - 10602 Editor Nottoobad
- com.alibaba.fastjson.JSONException: default constructor not found
- 仿app下拉加载功能的web版
- 关于连接池参数testWhileIdle,testOnBorrow,testOnReturn的疑问
- block 传值及回调
- 如何安装百度分享按钮
- IDEA (或 Android Studio ) 文件名颜色分别表示的意思
- 记录-微信分享的一个坑
- Android代码混淆的一个常用的简单例子