SimpleWordGame
SRM 442 · 2009-06-13 · by mateuszek
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
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.
{ "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.
{ "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.
{ "orange", "orange" }
{ "strawberry", "orange", "grapefruit", "watermelon" }
Returns: 36
The "orange" occurs twice in player, but should be counted just once towards the score.
{ "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
{ "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.
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