Connection Status:
Competition Arena > SimpleWordGame
SRM 442 · 2009-06-13 · by mateuszek · Simple Search, Iteration, String Manipulation
Class Name: SimpleWordGame
Return Type: int
Method Name: points
Arg Types: (vector<string>, vector<string>)
Problem Statement

Problem Statement

The Simple Word Game is a game where a player tries to remember as many words as possible from a given dictionary. The score for each distinct word that the player remembers correctly is the square of the word's length.

You are given a String[] player, each element of which is a word remembered by the player. There may be duplicate words, but if the same word appears multiple times, it should only be counted once. You are given the dictionary in the String[] dictionary, each element of which is a single distinct word. Return the player's total score.

Constraints

  • player will contain between 1 and 50 elements, inclusive.
  • Each element of player will contain between 1 and 50 characters, inclusive.
  • Each character of each element of player will be a lowercase letter of English alphabet ('a' - 'z').
  • dictionary will contain between 1 and 50 elements, inclusive.
  • Each element of dictionary will contain between 1 and 50 characters, inclusive.
  • Each character of each element of dictionary will be a lowercase letter of English alphabet ('a' - 'z').
  • All elements of dictionary will be distinct.
Examples
0)
{ "apple", "orange", "strawberry" }
{ "strawberry", "orange", "grapefruit", "watermelon" }
Returns: 136

The player has correctly remembered two words from the dictionary: "orange" (worth 6*6 = 36 points) and "strawberry" (worth 10*10 = 100 points). That gives a total score of 136 points.

1)
{ "apple" }
{ "strawberry", "orange", "grapefruit", "watermelon" }
Returns: 0

The player has remembered just "apple" and it's not in the dictionary, so the score is 0.

2)
{ "orange", "orange" }
{ "strawberry", "orange", "grapefruit", "watermelon" }
Returns: 36

The "orange" occurs twice in player, but should be counted just once towards the score.

3)
{ "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"}
Returns: 11749
4)
{ "sxggsqrgiuafrefyabjjhggek", "xqxqcxhrknswojy", "ejjgbmsoutdppvpkrveelkuerei", "nxlrgzapxp", "wwdhcffeijocxqxxsohkogcjc", "payiyitknimollwdiqmumkhtzujhunhpgtrrcoyvfuch", "nxlrazapxp", "zpijywgbyygbdyfjwlnkorio", "sxggsqrgiuafrefyabjjhggek", "zpijgwgbyygbdyfjwlnkorio", "lbndagcremxfrwdjdoppkvipcwqtzoqzyzytxgvmqxbzgeie", "jzoukcrawrclijjullaouljxheykdgdgtichcfsallyqqv", "aopyficknahpyioaqjvgqwwfewizsuwhwprmr", "wwdhcffeijocxqxxsohkogcjc", "izvabqhigceiawcaxxhcavlkknydtfmowpsluhz", "lbcdagcremxfrwdjdoppkvipcwqtzoqzyzytxgvmqxbzgeie", "oedhiprebllcjnxmyafbxfqsndhrba", "ziysesswgftomrsmzdzpzbmgjyyihomhaszjm", "pzcvzzpynvjayueohwzzbhlafqxhcabxzpxirvhnovivtqmfoa", "aopyficknahpyioaqjvgqwwfewnzsuwhwprmr", "wxnfbnqczpoxpxizrzzcmbjsvtblqra", "wwdhcffeijecxqxxsohkogcjc", "ziysesswgftomrsmzdzpzbmgjyyihomhaszjm", "grrutegpqdimcccdcbmscydikx", "payiyitknimollwdiqmumkhtzujhunhpgtrrcoyvtuch", "aopyficknahpyioaqjvgqwwfewnzsuwhwprmr", "bfhalwknnykviztah", "ruqtkpvgzkaeljdvsslrjiyhvvi", "oedhiprebllcjnxmyafbxfqsndhrba", "wxnfbnqczpoxpxizrzzcmbjsvcblqra", "pzcvzzpynvjayueohwzzbhlafqxhcabxzpxirvhnhvivtqmfoa", "ziysesswgftomrsmzdzpzbmzjyyihomhaszjm", "dgcfumctcubuesuzcvpraljvtrwvekpinwlenuqthvzikj", "bfhalwknnykviztah", "grrutegpqdimcccdcbmscydikx", "ziysesswgftomrsmzdzpzbmgjyyihomhaszjm", "ruqtkpvgzkaeljdvsslrjiyhvvi", "payiyitknimollwdiqmumkhtzujhuhhpgtrrcoyvfuch", "dgcfumctcubeesuzcvpraljvtrwvekpinwlenuqthvzikj", "grrutegpqdimcccdcbmscydikj", "nxlrazapxp", "zpijywgbyygbdyfjwlnkorio", "xsjivtstkrmumqutfhhmyuktyievpgebjqdhlqpsmxyd", "ziysesswgftomrsmzdzpzbmgjydihomhaszjm", "ejjgbmsoutdppvpkcveelkuerei", "wxnfbnqczpoxpxizrzzcmbjsvcblqra", "bfhalwknnykviztah", "sxggsqrgiuafrefyabjjhggek", "dgcfumctcubuesuzcvpraljvtrwvekpinwlenuqthvzikj", "izvpbqhigceiawcaxxhcavlkknydtfmowpiluhz"}
{ "ziysesswgftomrsmzdzpzbmgjyyihomhaszjm", "msyynainbt", "zcjzibcppkmlzytylsjnreotzghpmiovigpvsccpqo", "vqettkqoisjijfcqhnbjhfxukwlpqrybjjlgiuwevvccnxc", "grrutegpqdimcccdcbmscydikx", "yahytemqldpunymjxgrxzfkdvdatv", "bqkkhinmnropwp", "ngheqezowctgcpcofnmx", "hjwshqabpdaak", "oedhiprebllcjnxmyafbxfqsndhrba", "xqxqcxhrknswojy", "uurukjvmul", "bhjjmkdhenxrbvnampqbmov", "mgmujyokzrdwzxkqeseapyjxruqtatnwdugte", "izvabqhigceiawcaxxhcavlkknydtfmowpiluhz", "yfrppvhdghobpmln", "xsjivtstkrmumqutfhhmyuktyievpgebjqdhlqpsmxyd", "cpscloqryxrhafrexvevqkfsvxcqiubxekuiykeo", "qipvmqnuitybpdvhjcriyaysmqlmpajcdpcw", "dgcfumctcubuesuzcvpraljvtrwvekpinwlenuqthvzikj", "lbcdagcremxfrwdjdoppkvipcwqtzoqzyzytxgvmqxbzgeie", "hlvdnfrhqzkodptjixhwhwvcxjncdunkzjjxwnddwqrpngj", "evhnuavcruopiuojjfiblzyqwvvmlixvjzg", "zpijywgbyygbdyfjwlnkorio", "jguxuejzfngneoocj", "sxggsqrgiuafrefyabjjhggek", "wxnfbnqczpoxpxizrzzcmbjsvcblqra", "pzcvzzpynvjayueohwzzbhlafqxhcabxzpxirvhnovivtqmfoa", "wlxnfsassqmxisxerhbbopin", "payiyitknimollwdiqmumkhtzujhunhpgtrrcoyvfuch", "aopyficknahpyioaqjvgqwwfewnzsuwhwprmr", "bpnmsskeldukclexgkhzvkbhbw", "jzoukcrawrclijjullaouljxheykdgdgtichcfsallyqqv", "ejjgbmsoutdppvpkcveelkuerei", "ercyqnbtsmo", "nxlrazapxp", "bfhalwknnykviztah", "gamlisffzyqvfhg", "cahxilbcvkgvchmjswqxqtkikoberv", "frjyyewjlcbinvozjqhmdbbqeabanuwygmagxkrxzgez", "arteqdqrqxovouv", "ruqtkpvgzkaeljdvsslrjiyhvvi", "wwdhcffeijocxqxxsohkogcjc"}
Returns: 22081

Submissions are judged against all 71 archived test cases, of which 5 are shown here. Case numbers match the judge’s.

Coding Area

Language: C++17 · define a public class SimpleWordGame with a public method int points(vector<string> player, vector<string> dictionary) · 71 test cases · 2 s / 256 MB per case

Submitting as anonymous