[编程题] 小易记单词

时间限制:1秒

空间限制:32768K

小易参与了一个记单词的小游戏。游戏开始系统提供了m个不同的单词,小易记忆一段时间之后需要在纸上写出他记住的单词。小易一共写出了n个他能记住的单词,如果小易写出的单词是在系统提供的,将获得这个单词长度的平方的分数。注意小易写出的单词可能重复,但是对于每个正确的单词只能计分一次。

输入描述:

输入数据包括三行:
第一行为两个整数n(1 ≤ n ≤ 50)和m(1 ≤ m ≤ 50)。以空格分隔
第二行为n个字符串,表示小易能记住的单词,以空格分隔,每个单词的长度小于等于50。
第三行为m个字符串,系统提供的单词,以空格分隔,每个单词的长度小于等于50。

输出描述:

输出一个整数表示小易能获得的分数

输入例子1:

3 4
apple orange strawberry
strawberry orange grapefruit watermelon

输出例子1:

136
测试用例:
47 39 
aglsoyomtuigaybxdvujhxwloaatvnfw aglsoyomtuigaybxdvujhxwloaatvnfw szjzhfoinmbqjipibqrrjuebrelwjmvriznlbhfgpib szxfwyfzvawblvgclxcxqodgkmnzdcgyalz bmokjqdxqoahjkxrdwttxdyqfnqwnjh efrwdigzgpbynrbyvsbosjdxcmmmfzqt zuonybprwxpb bbzigzsnjyspweoswcfrcmlkspzqetvoiaouhm jcqxzsgrtfamds oljqtzjldoafegasvsxkytyg uyojhmxjprvmznccgmooppznoecjofnuoqqsclajg qkvcfwvrfzenlj szjzhfoinmbqjipibqrrjuebrelwjmvriznlbhfgpib szjzhfoinmbqjipibqrrfuebrelwjmvriznlbhfgpib qkvcfwvrfzenlj refztgxnirjksyanpoxynamiwjzoylv olbqtzjldoafegasvsxkytyg bbzigzsnjynpweoswcfrcmlkspzqetvoiaoucm jcqxzsgrtfamds bbzigzsfjynpweoswcfrcmlkspzqetvoiaouhm lvbfkfsbxkvukngjlspeskfqjoszjtwangmvmwcsgmszndlm jcqxzsgrtfamds aglsoyomtuigaybxdvujhxwloaatvnfw qkvcfwvrfzeplj refztgxnirjksyanpoxypamiwjzoylv aglsoyomtuigaybxdvujhxwloaatvnpw jcqxzsgrtfamds ailsoyomtuigaybxdvujhxwloaatvnfw efrwdigzgpbynrbyvsbosjdxcmmmfzqt qkvcfwvrfzxnlj olbqtzjldoafegasvsxkytyg okbqtzjldoafegasvsxkytyg moisuyjvsgeeyqqwdbfrxdjwkdboquss yudkadnfnkbbsqyjfheclqtbbrudjcsmmudnkwspvjl olbqtzjldoafegasvsxkytyg jcqxzsgrtzamds aglsoyomtuigaybxdvujhxwloaatvnfw yudkadnfnkbbsqyjfheclctbbrudjcsmmudnkwspvjl refztgdnirjksyanpoxynamiwjzoylv aglsoyomtuigaybxdvujhxwloaatvnfw efrwdigzgpbynrbyvsbosjdxcmmmfzqt szxfwyfzvajblvgclxcxqodgkmnzdcgyalz qkvcfwvrfzenlj buonybprwxpb moisuyjvsgeeyqqwdbfrxdjwkdboquss olbqtzjldoafegasvsxkytyg yudkadnfnkbbsqyjfheclqtbbrudjcsmmudnkwspvjl
xuurkcogyrphwamsunkndjfr okphkoirhxauoyggcagbkdfssyv gaolxwsozpdanyrj vyilobrgmwvuljbasmlqswmmwdgsaxvoanzcmj refztgxnirjksyanpoxynamiwjzoylv szjzhfoinmbqjipibqrrjuebrelwjmvriznlbhfgpib njevhtbltzbdqptj aglsoyomtuigaybxdvujhxwloaatvnfw flwcphzzjhunn ccwrwvdaghgbqhcrlqcxdtf pfjamuwqblplututwatwkeqjinjjvguywpdcd yudkadnfnkbbsqyjfheclqtbbrudjcsmmudnkwspvjl jcqxzsgrtfamds bmokjqdxqoahakxrdwttxdyqfnqwnjh uyojhmxjprvmznccgmooppznoecjofnuoqqsclajg qkvcfwvrfzenlj ldjjflnmomenbfkmusvthgozp bbzigzsnjynpweoswcfrcmlkspzqetvoiaouhm neuvukebkch xhcazxjwpthkvjjecvywfcmaq lvbfkfsbxkvukngjlspeskfqjoszjtwawgmvmwcsgmszndlm pqcwphxkltoybhwwmofbwnixkpxsgkehejdtuqrjrzyfy buzwmozxaffullccasdwvggclbzkmqylyrqnrvkszrg abwipsllczhfuapfdmgylknvp olbqtzjldoafegasvsxkytyg sfmauvknoyrpkwlzyugbli efrwdigzgpbynrbyvsbosjdxcmmmfzqt ruyqzzavmefbxlboakghsbgetpphwhsxgbiwicojhnrowraamp pfngtcybfh mqlglohuafudimfrrjxhiwhfkughuabgccphbplxuybqtanshf moisuyjvsgeeyqqwdbfrxdjwkdboquss ezdkznznmt ucrdwdhutafaozaetqnwseeuck htqcujbtdwmqocnhsbterupwevfebgyuwmbcokznxevjkxmaka ruzcqldbdqan ybwwroegedfvkposmthmrjflxvr dhowsuexsckikvykkvjoaibhougzrjmjipq szxfwyfzvawblvgclxcxqodgkmnzdcgyalz spzvmwzczpjlofucbqeoxkr buonybprwxpb 
对应输出应该为:
11605 
 

package NeteaseSpring2017;

import java.util.HashSet;

import java.util.Iterator;

import java.util.Scanner;

public class Words3{

      public static void main(String[]args)

      {

           Scanner scan = new Scanner(System.in);

           while(scan.hasNext())//接受多组输入

         {

                 String[] temp=scan.nextLine().split(" ");

                 int n=Integer.parseInt(temp[0]);

                 int m=Integer.parseInt(temp[1]);

                 int result=0;

                 String[] str1=scan.nextLine().split("\\s+");//第一行为记住的单词

                 String[] str2=scan.nextLine().split("\\s+");//第二行为系统提供的单词

                 HashSet words=newHashSet();

                 HashSet remwords=newHashSet();

                 for ( int i =0; i < n ; i ++)

                      if(!remwords.contains(str1[i]))

                            remwords.add(str1[i]);

                 /*最后一个测试用例中,

                  *buonybprwxpb为第40个单词,

                  *但是第一行给出的系统提供单词数为39

                  *使用nextLine的话,注意单词计数

                 */

                 for(int i=0;i<m;i++)

                      words.add(str2[i]);

                 Iterator it=remwords.iterator();

                 while(it.hasNext())

                 {

                      String word=(String)it.next();

                      if(words.contains(word))

                      {

                            result+=Math.pow(word.length(),2);

                      }

                 }

                 System.out.println(result);

         }

           scan.close();

      }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值