英语考试 FZU - 2254 (最小生成树)
先选一个单词出来完全自己背,然后从这个单词到其他各个单词所需要的精力看成距离,然后用最小生成树把这些单词连接起来,就是通过我现在选的这个单词到其他各个单词的最小精力,然后再加上把这个单词背起来的精力,就是答案
#include<map>
#include<set>
#include<ctime>
#include<cmath>
#include<stack>
#include<queue>
#include<string>
#include<vector>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define lowbit(x) (x & (-x)) typedef unsigned long long int ull;
typedef long long int ll;
const double pi = 4.0*atan(1.0);
const int inf = 0x3f3f3f3f;
const int maxn = ;
const int maxm = ;
const int mod = ;
using namespace std; int n, m, tol, T;
char str[maxn][];
int maps[maxn][maxn];
int dis[maxn];
bool vis[maxn]; void init() {
memset(str, , sizeof str);
memset(vis, , sizeof vis);
memset(dis, inf, sizeof dis);
memset(maps, inf, sizeof maps);
} int Prim() {
int ans = ;
for(int i=; i<=n; i++) dis[i] = maps[][i];
dis[] = ;
vis[] = true;
for(int k=; k<=n; k++) {
int p = ;
for(int i=; i<=n; i++) {
if(!vis[i] && dis[p] > dis[i]) {
p = i;
}
}
vis[p] = true;
ans += dis[p];
for(int i=; i<=n; i++) {
if(!vis[i] && dis[i] > maps[p][i]) {
dis[i] = maps[p][i];
}
}
}
return ans;
} int main() {
int w;
while(~scanf("%d%d%d", &n, &m, &w)) {
init();
for(int i=; i<=n; i++) scanf("%s", str[i]+);
for(int i=; i<=n; i++) {
for(int j=i+; j<=n; j++) {
int nn = ;
for(int k=; k<=m; k++) {
if(str[i][k] != str[j][k]) nn++;
}
maps[i][j] = maps[j][i] = min(m, nn*w);
}
}
//for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) printf("%d%c", maps[i][j], j==n ? '\n' : ' ');
int ans = Prim() + m;
printf("%d\n", ans);
}
return ;
}
英语考试 FZU - 2254 (最小生成树)的更多相关文章
- FZU 2254 英语考试 (最小生成树)
在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习. 这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m. YellowSatr准备采用联想记忆法来背诵这 ...
- FZU 2254 英语考试
在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习. 这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m. YellowSatr准备采用联想记忆法来背诵这 ...
- FOJ Problem 2254 英语考试
...
- [FZU2254]英语考试
在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习. 这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m. YellowStar准备采用联想记忆法来背诵这 ...
- mysql练习题-查询同时参加计算机和英语考试的学生的信息-遁地龙卷风
(-1)写在前面 文章参考http://blog.sina.com.cn/willcaty. 针对其中的一道练习题想出两种其他的答案,希望网友给出更多回答. (0) 基础数据 student表 +-- ...
- Java初学者作业——编写JAVA程序,在控制台输入一位学生的英语考试成绩,根据评测规则,输出对应的成绩等级。定义方法实现学生成绩的评测功能。
返回本章节 返回作业目录 需求说明: 编写JAVA程序,在控制台输入一位学生的英语考试成绩,根据评测规则,输出对应的成绩等级.要求:定义方法实现学生成绩的评测功能. 学生的英语考试成绩进行评测,评测规 ...
- 英语能力考试 All In One
英语能力考试 All In One 托福,雅思,托业 TOEIC 托业考试 Test of English for International Communication (TOEIC) 国际交流英语 ...
- 2017 Fzu校赛 [Cloned]
A - Salty Fish 海边躺着一排咸鱼,一些有梦想的咸鱼成功翻身(然而没有什么卵用),一些则是继续当咸鱼.一个善良的渔夫想要帮这些咸鱼翻身,但是渔夫比较懒,所以只会从某只咸鱼开始,往一个方向, ...
- 英语学习APP—百词斩
英语学习APP-百词斩 1.简介: 百词斩是由成都超有爱科技有限公司针对英语学习开发的一款"图背单词软件".软件为每一个单词提供了趣味的配图和例句,让记单词成为一种乐趣. 百词斩覆 ...
随机推荐
- JEECG DataGridColumn dictionary使用问题
<t:dgCol title="线索所属人" field="ownerId" query="true" queryMode=&q ...
- pip Read timed out 和 pip 源
解决方法,设置超时时间 pip --default-timeout=100 install -U Pillow 安装时指定源(--index-url) #例如安装scipy时使用豆瓣的源 pip in ...
- Java遍历HashMap并修改(remove)(转载)
遍历HashMap的方法有多种,比如通过获取map的keySet, entrySet, iterator之后,都可以实现遍历,然而如果在遍历过程中对map进行读取之外的操作则需要注意使用的遍历方式和操 ...
- Mission Impossible 6
题目:Mission Impossible 6 题目链接:http://hihocoder.com/problemset/problem/1228 题目大意: 大概就是让我们写一个代码模拟文本编辑器的 ...
- QueryRunner 错误
QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource()); 写成了 QueryRunner qr = new QueryRunner(); 导 ...
- 补充:pyhton 2 和3中的beyts类型
在python2里,bytes == str python2里还有个单独的类型是unicode , 把字符串解码后,就会变成unicode. 既然python2中byets == str,那为什么还要 ...
- Centos rpm包安装PHP所需包
yum -y install php php-devel php-fpm php-xml php-pdo php-ldap php-mysql
- linux Vi使用
前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率. 一,模式vi编辑器有3种模式:命令模式.输入模式.末行模式. ...
- orcale增加列脚本
--编号declare v_cnt number; V_SQL VARCHAR2 (500) := '';begin select count(*) into v_cnt from dual wher ...
- EFI Windows 7 activition
mountvol X: /s copy SLIC.aml X:\EFI\CLOVER\ACPI\WINDOWS BOOTICE X:\EFI\CLOVER\CLOVERX64.efi slmgr -i ...