编程题:4013 anagrammatic距离
两个单词互为anagrams,意思是一个单词的字母经过重新排序后可以形成另一个单词,例如,单词“occurs”和“succor”互为anagrams。然而“dear”和“dared”不是互为anagrams,因为字母d在“dared”中出现了2次,而在“dear”只出现了1次。英语中最著名的anagrams是“dog”和“god”。
两个单词的anagrammatic距离为N,意思是至少要在两个单词中一共去掉N个字母,才能使两个单词中剩下的部分互为anagrams。例如,给定两个单词:“sleep”和“leap”,我们需要至少去掉3个字母(从单词“sleep”中去掉2个字母、从单词“leap”中去掉1个字母),才能使这两个单词中剩下的部分互为anagrams(每个单词只剩下lep)。对于单词“dog”和“cat”,由于两个单词没有相同的字母,所以它们的anagrammatic距离是两个单词字母个数的总和,因为要去掉所有字母才能使它们互为anagrams。(注意:一个单词总是和它本身互为anagrams的)
你的任务是编写一个程序,计算两个单词的anagrammatic距离。
### 输入格式:
输入文件的第一行为一个正整数N(N < 60000),标明输入文件中测试数据的个数。每个测试数据包含两个单词,有可能为空,每个单词占一行(所以有可能为空行)。因此输入文件中第一行之后还有2N行。
尽管单词可能为空,但它们肯定是很简单的单词(单词中的字母都是小写的),而且都是英文字母表中26个字母中的一个,最长的单词是pneumonoultramicroscopicsilicovolcanoconiosis。
### 输出格式:
对每个测试数据,输出两个单词的anagrammatic距离,按照输出样例中的格式输出。
### 输入样例:
in
4
crocus
succor
dares
seared
empty
smell
lemon
### 输出样例:
out
Case #1: 0
Case #2: 1
Case #3: 5
Case #4: 4
答案:若无答案欢迎评论
两个单词的anagrammatic距离为N,意思是至少要在两个单词中一共去掉N个字母,才能使两个单词中剩下的部分互为anagrams。例如,给定两个单词:“sleep”和“leap”,我们需要至少去掉3个字母(从单词“sleep”中去掉2个字母、从单词“leap”中去掉1个字母),才能使这两个单词中剩下的部分互为anagrams(每个单词只剩下lep)。对于单词“dog”和“cat”,由于两个单词没有相同的字母,所以它们的anagrammatic距离是两个单词字母个数的总和,因为要去掉所有字母才能使它们互为anagrams。(注意:一个单词总是和它本身互为anagrams的)
你的任务是编写一个程序,计算两个单词的anagrammatic距离。
### 输入格式:
输入文件的第一行为一个正整数N(N < 60000),标明输入文件中测试数据的个数。每个测试数据包含两个单词,有可能为空,每个单词占一行(所以有可能为空行)。因此输入文件中第一行之后还有2N行。
尽管单词可能为空,但它们肯定是很简单的单词(单词中的字母都是小写的),而且都是英文字母表中26个字母中的一个,最长的单词是pneumonoultramicroscopicsilicovolcanoconiosis。
### 输出格式:
对每个测试数据,输出两个单词的anagrammatic距离,按照输出样例中的格式输出。
### 输入样例:
in
4
crocus
succor
dares
seared
empty
smell
lemon
### 输出样例:
out
Case #1: 0
Case #2: 1
Case #3: 5
Case #4: 4
答案:若无答案欢迎评论