MagicTrickWithCuts
SRM 819 · 2021-12-02 · by misof
Problem Statement
This problem involves test cases that are guaranteed to be random in some specific sense.
For this reason only test cases generated by us can be used. This means that there will only be a limited opportunity to challenge other submissions for this problem.
------------------------
We are going to teach you how to perform a magic trick. This is an actual trick. Once you learn it, you can then perform it for your friends.
We will describe exactly what the magician does, except for the very last step of the trick. Your task is to figure out how to do that step and then to implement a program that will do it instead of the magician.
The trick is performed as follows:
- Take a new deck of cards. While nobody is looking, remove the top 13 cards (all the hearts). Give the rest to the spectator to shuffle.
- Take the shuffled deck from the spectator. Spread the top few cards to show that it is shuffled. While you do so, count 10 cards off the top and reinsert the hearts back so that there are exactly 10 cards on top of the hearts.
- Place the deck onto the table. At this moment there are, from top to bottom: 10 random cards, then all the hearts in the order A, 2, 3, ..., 10, J, Q, K, and then the rest of the randomly shuffled cards.
- Have the spectator randomly cut the deck into three approximately equal parts. We will call these the top, the middle, and the bottom pile.
- Have the spectator look at the top card of the middle pile - a card they randomly cut to. This is the first card they selected.
- Have the spectator shuffle the middle pile to hide that card.
- Have the spectator shuffle the top pile.
- Have the spectator look at the card that is now on the top of the top pile - a card they randomly shuffled there. This is the second card they selected.
- Have the spectator shuffle the bottom pile as well.
- Have the spectator place the bottom pile on top of the top pile.
- Have the spectator place the middle pile on top of the other two piles. Now there is just a single deck of cards again. Both cards selected by the spectator are hidden somewhere in the deck.
- Pick up the deck of cards, look at it and magically produce both cards the spectator selected.
------------------------
There are exactly 52 cards in a standard deck, and there are exactly 52 uppercase and lowercase English letters ('A'-'Z', 'a'-'z'). The letters 'A' to 'M' represent the hearts (in the order in which they are inserted into the deck in step 2), the other letters represent the other cards in an arbitrary way.
You are given a collection of queries. In each query you are given a
Return a string of 2Q characters, where Q is the number of queries: two characters for each query. The first character should be the first and the second character the second card selected by the spectator.
Your return value will be accepted if and only if it has at least 90 percent accuracy on each test case. (There are exactly 20 hidden test cases. For each of them, your solution must correctly answer at least 45 out of the 50 queries it contains. For the example test case you must correctly answer the given query.)
------------------------
Python3 code that was used to simulate the spectator and generate the test data is available at https://algo.sk/topcoder/MagicTrickWithCuts/gen-data.py
A sample of 1000 decks generated using that code is available at https://algo.sk/topcoder/MagicTrickWithCuts/1000.txt
One of the actual hidden test cases is available at https://algo.sk/topcoder/MagicTrickWithCuts/case1.txt
This test case can be used as a challenge during the challenge phase.
Notes
- All test cases and all correct answers to hidden test cases were prepared by running the provided spectator simulation.
- All hidden test cases were generated exactly once and all of the generated test cases were used, without any additional selection.
- When actually performing the trick, if you don't trust yourself with steps 1 and 2, just prepare the deck before the trick as step 1' and then show its shuffled parts in step 2'. (This advice has nothing to do with the problem you are solving now.)
Constraints
- In the example test case queries has 1 element.
- In each hidden test case queries has exactly 50 elements.
- Each element of queries will be a string of 52 distinct letters that was generated by the process described in the statement.
{"KwuJpLzhRIoVeMxOlvnZymdPUtfTicjbsYSrWEqgFANGBkQaHDCX"}
Returns: "IS"
Here's what happened during the trick, in detail: You split the deck into hearts (ABCDEFGHIJKLM) and others (NOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz). The spectator shuffles the others to produce kQSgXWNarqRhpVloexuOzvwmnjbdsPUcyTitfZY. You reinsert the hearts. The deck, top to bottom, now looks as follows: kQSgXWNarqABCDEFGHIJKLMRhpVloexuOzvwmnjbdsPUcyTitfZY. The spectator cuts the deck into the top part (kQSgXWNarqABCDEFGH), the middle part (IJKLMRhpVloexuOzvw) and the bottom part (mnjbdsPUcyTitfZY). The card on the top of the middle part (I) is selected as the spectator's first card. The spectator shuffles the middle part (producing KwuJpLzhRIoVeMxOlv) and then the top part (producing SrWEqgFANGBkQaHDCX). The card that is now on the top of the top part (S) is selected as the spectator's second card. The spectator shuffles the bottom part (producing nZymdPUtfTicjbsY). The spectator reassembles the deck by placing bottom pile on top of the top pile, and then the middle pile on top of that.
{"VEKsclqLaHPFgMTeJIhGxdQbvnSyWzotZRpNiYwruCmjODAfBkXU", "yJkwLimhOPfuqVXgMvKxtQZzNrcnsdoaRElbIjSFDGYCUBHTAWep", "sTQLOJfceyGMKmINhHXPjpklazZRboUrSxnuwCtdYWqEFiDBVvAg", "YMLyStKRqIuHOJXVnlkaWcsbwQUvNrjpfZxBhegFzDPTCdoAiGmE", "XYlSbnUyLJhxcKMvWewamRrNoOqVupZtkGTszPCEHiQjIDAfgBFd", "FdILJMKOtneYEGglzHTwXhqiovbZUNWcmjRfSkDaCVyBsxrpAPQu", "dxSXMPmYJRKqfLaiyTgbVvZzuUwhkQlWOIFNArDjnCsEoBGptHce", "HiwWgJyfLRhKPIMUoGpeXSbmaNxdtjVruvnczEkQCFODlTYBqZsA", "dKnjckPLYVJMbSZyRIxNhtraovfQWeumwTzsUHglAFGBEXDpqOiC", "aeyWOjLhgzmSMNRpurPqViTwYlnoZUvDFBdcCHtsGKxXEIbQkfJA", "JRqIvezhoWVTLgMKfONrXawcbSdpyjimPnEBCuskZGAYUDtlQFHx", "GJglZWbLImOSdKHMFtPhoxrkcsvaRniTQpfXVewCAEyYDNzBUqju", "QJimRoLyIHKfjbsGaNWMFethUnYcwZvrpdlxPOgzAuDBVCXETSqk", "yZbxohMNLpJeKmkRvfuntOjaXUslQTYrwIgPHSAdDEBCVWqFziGc", "IGuiMxoZNqcTJzHRnKeLSQlkhjryavsXUtmpBEVYAfCODFWbgwPd", "oUafLMvJTdbKPRcWluSNQrhjVzqsXmnxgDYkGIOyZCwtFiBeApHE", "tTNdeMWQoKwPLVyxOgZuinsbSXhrjzpkaCUvRcDfJIAFqGYEHBlm", "kMLobYnKvROUNruxqtsfVzlZwTmWQipydeahHcPAEJGBXFSjgIDC", "YoKrHpatEsQewMIDFGJLmVSgfhbTqXiZzPcWjOkNxUAClRyBduvn", "LRJMqyaPkgjKioIVSZeUfXuTbplrxmdcwzNWADOsYEQCHtnvGhBF", "TLkxnHNMfIRzKcVhpJgeQsUbrdOmtjSlvwoGiYEXqFCAyWDaPuBZ", "LjMJvnIUpuWKPdxkTSczoeQbNqRslYiXtwDyCghFHVOBfmZGraAE", "IKzWwVclJSLXjhMxkorPuZqmgRtvbaNeyfYDnAGQOHEpdCBisTFU", "XLrSKdRwihujIWzOJMVZxnmeTvYPsNQgokHByGfbEqDctlaUCApF", "wuGqOkvlLyVJWPMIHUcNKnTZbrfazjQsXmotEdDexRpigCFYSABh", "NMLvpZxmKeYtalzcSbnfWsiQjoqPyuRrOUGgdCDFVXkTEJAHhwBI", "OKRMLIUeJiVlyqhcWgvsTkXnNmfYZbwaQuopxDCjtGSPAEFBdzHr", "uYMTrydbHjomkJIvaKxzLUlseNnwRWXhQpiEACGBPfSgqVZDctOF", "kIJFHdEKGMvnLmePrDguqhxUizwXWcYQNSlobTZOyaARBVpstjfC", "eOkylrcdSLMKsRxZqUWYhXztvNTpjfbinQGaJACFDPwouVmEHBIg", "JQgMmiodWsSKVLIZcqfybPROwpaTekrvXxFDHYAtNGlUnhuEjBCz", "HIRnMKhLOkuoJqZsSrcTXUbVlPiWdQfwNgjeYBvxCFyEpAzGtmDa", "SMIXuPJyUKVmLlrbvRwhftpzgqNaWxZiOdCBQTcGkeEsAnHFDjYo", "YfIaVmRNLJyunKMTdbchQzsqljkvZUOetpwgCiWHSXxoBAEFPDrG", "PyThMLYQaXvoWxlepnmquzcSwrUsVRfZdjGJENCkiFtbIHOABKgD", "quiJZSVYtLIMKGrwHmpPvNldWjXxRUzQcyoknDaeEfsCgATOFBbh", "fmKOJSgLYMNvHIcowprPXhdTWeqstiVZjnlRakyBEbAQFxUzCDGu", "XMvuonUaTciVZlmrWQRhYdfetNxpPzgKsJIkjbLDqASGBFHwECyO", "LIshRnjoGdvMUTHKVJlFbzfZYamckqwPQpStrWgDeuyxENiOBCAX", "ateSjJMHIOxvKLTronzkpwlNVhZXPQsbdUWGfAqCgDEyimucYBFR", "GQKTMnHJyxVLirIbtvhlRpokfNgdjzswXOcaPEWuDUYBmFCeZSAq", "fiLYlIMJscjaGdKeSrHNuvzZxRtqWphbyUwmkAXVBPTDoCnFEgQO", "ljPOQGJtvHWMeILpbKrNmuXUwidqhxkascyVnFAZgTRfBECYoDzS", "vMlOLKWdxQezmhtXVosqYTuipanwPUcrkjGHAyRZJgINCSBEbFDf", "fiISOGMJLdFlgKqkwHsjVxybhYPptrZoRnUcNeBvWECmTAuQXDaz", "bLqxciHNMFasGOhzXVKwJIYTSfnPrmplZUduvWyotAkjRCQegBDE", "HthxFeIXzbuMNdLUJKiGrknVpjqlcQOovWgsaPYCyfmTASBDRwEZ", "JKrkwcjHuzLRIGdTMNgfxayYlPqXtnhbmZsOFBpCiovEeWDAVQSU", "KvYuHIoMieNgWbLanJxSQRmtVXTzUcwjOrqfsdACkGByhlDPFZEp", "KJvHMYNIxWjuspkfLbwUinhqVymecXrRglZEGaFoTSAPOBtCQDdz"}
Returns: "EwJEGwHBJGEDJIGzIzLDIEFeFOJIGBJDKaKdDNINHGIDIYIHGEKOIoHEDOKnIFHeICIwLZGnHRMgFWHGGPGkGnKkFeFWFPGFHfHE"
{"KTvVHZMNLtJYrImnGePzUWiwqpauclhRgSkdsyFfoQEbjxCXBDAO", "IuavLKpJtMrwNWbkxRfhTeYqdZsScXgPlyzCoQGjBFUDOVEiAmHn", "XPJTMLbverwQKygmjzkYWaolfpqnOhcxdsRUAIEFGZiVNBDHSuCt", "HKwrdIsvjMLJNiGzXcQYpVyZSWfbkToPelnOxUFBghACDREutaqm", "oXLKOMPQvmJleZtxyksTfizqcrdpagUSYwNjDIBGEbVRChnFAuHW", "JITGHtOXKLhmVMwqrSczWlRPvQfdnYgUypueskZFBEjAxbioDNCa", "wHMgJteKLPROImxWNpZivzQflyanXShoYjTBVuFUEqsbDkrCdAcG", "ZPLXqmKWxvUntMVThjNfgQuikecwyRalsrYFOIEpAJDCBoSzbGHd", "YHWRSlayLMbhqJKIpugVtkXdcxTnioUzseZOrmEjCDNFQAGwBfvP", "fLRKdkbaTHWuomPJIMnYrVgZipstxhlUqjXDSvEczGOFQwACyBNe", "kIbZoMWytNJKxpLanjrdguRmzThOlqefsPAcFHUCDXSYVivwGEQB", "ksVlRLzZIJHmKMXNnypwieOaUbfTjrhqocxSGDuvAYFBQtgCEdWP", "pvNhogbKQIMlkzJOLPSiWteZTVqYXyfxurcmaUGAHnFCEDwRsjBd", "YjoIHGLafMTXnKqsQcvJiVOZuWUSbxzdygRtBEPekwAChrFlDmNp", "caiwVyMxQLKkplzYRtsgdWUoOnmvjNPZFSurBACehJXIGEHfbTDq", "klcaNLJXZKbwUzMTinsVdmOfpruoyqSgQRHhjYEePtxGBWIvFCDA", "ItXWrHwcnEasuLfMFJTGKhpOexUbqogYvzmdiNABRSDVQjZCPykl", "VRxvIaKHNXMQSJueLUdhtWnZibpmyskOlPfTCDcYzwqgEForjGBA", "cXJPbMzOKxToIWUuLRQYVjytlvhZSmpkingGfCFqEBNrDswdAeHa", "XMqIKPJuFfxhEHdLWGyomUvksrplebiwaRYZztnOgcVNSjTQADBC", "KkRslmwGJfHeWdtMnILZXzNuUiPqhbrvjgcpSQTCFyYOaABoDxEV", "NXKMLEySFGJIRuHzWVmiYbptUgZOTqafljhkxnoDCcAsrewQvPBd", "MqOwKIeVpGczYJHLoNRZfXhdTsaylnuPrStmUgDWvFxBiAbCEkQj", "fIsdncMmPaJVrqKHLNjWukgeoOSQTYwhlRUAzixbtGvFyDEpXBCZ", "MaNZTzkeIfLdQKtmHyJjrqboYvOWlphXxSPARVEUsFCGBgnciDuw", "zTmVrQeaJtLpKMxqlUhfbwcdXjSvkYiugsCDINGPRWBZOHFEynoA", "tvJIYbLSeqigMQKUrNfuxwcXmaRdTonpksDjzlPhZOEyWHGVCFAB", "xLdpJVZwfsGkMgKmPHIQcetOylhRrNnTzvSYoEWXbUqDjiFCaAuB", "YylUTJrbLXtGkKuHMgIxiSaejvwZoWRcVmpnEzNQPFqhsDCAdOBf", "lutzLaIXgJmMKdwSVHyOYPcxTWeUjQbNopRGvqnZFrDkfBACisEh", "eWtMKJIslUYoLgVQrkPSfjhzOwNuTRpaciFxEHCbAXdBDnvZqmGy", "OQJheZIwKmsWrTLMlXczqugNSUntYxjoypHEGavkdCPRFiAbDfVB", "dPqRlfJrOiLMgKTVkbutjaNoQhpvceYxmwICHsSAWBFUzGyEnDZX", "mLzqIKMJdwGQWaxHSkjYOrnNfPghoveyRctXsAUViFZTuDBECblp", "xSLZHamIMNefsrJzKRyUhdXTViglvPcunqbQGFwYktDEBpAOjoCW", "ZLnihrHebdNljMUKIYJoakPputQTXcmqgOxBRVWwsvEySzAfCDGF", "vWmoKlUZJqMfaLSusOPgxpRYQkcbnwdXhNICAeHrVtiDGByzTFEj", "OHLKFQyPtYMGuIrqlJaSVWUmcosZwgnjxkbefdvApBhXDiNzRCTE", "mLRSvMfgKyuhXbYNJkjVqrUatTZezwxOopdiEFlIAWBQHcPGCnsD", "HYGcfJdKXqQbPtOMLIeUSakuxynrvlNZhijgEwVRsWoFmApzBTCD", "LSjUmKMTlpJzYyWZfaVuqvrQibPRdgnshHNCOXFIAwGEBcoketxD", "blSKwJacWOLkxMmdNXtsTrqnhuvyPVpojBEAiRDUYZeHzgFGCfIQ", "EdvHgXJMyDeFISzTpGRnKLqbOswuxPmVWcrfhNiUAQkjBaotlCYZ", "IvNgaHpQJLMwXtRGKsimSeqlUbrkzfhVoYTcjAuZPBWECyODndxF", "PcKZbOIJRwHvMXrgznLSmyfoejThsQdYxUWVNuqplCAiGaDBEtkF", "bRxiWHPIahmJfeMVLKXldrwjpOYUTskZnzNGgyFvAQuBDtcEoqSC", "hPOMNzdtKXuSVLxJcRUvZwlyiYTgnfeQoCFmpWEqkGrBsbIjAHaD", "kGPITWHmVlQLXJMxKybufZUNRrsjOodnhtSqcEDpFwgivYeBzACa", "pFkxMyGHlKbJYvIVLnXefaowRtQZicWSOPmusEdCUBTrDzqAgNhj", "JKceltbIzRMokHLTrphxiqwfNagVsQunUjmAEXvZCOSBGFDydYWP"}
Returns: "GsIzJsGxJwGsHBKsHOHDIAHSIcGBKFJREAHTIgEnGSEoGUHAHAJsIDGoGEHGIFIHJwGsHQHBJNFdJpGEJHJBDUGjHVHGJCGcFEHA"
{"hKLcMitIJWpRmSOdoVqyaXUgxNPZsvwYQfEkBDGlFrHCuTjeAzbn", "lJqMrakvPLKcZyRIeWgzxVpSstfdToOmQNUwFjXEHiYuGBAnDbCh", "OLKFRyJWhlIHukMQYGvbrtfoTajNmncxSdUgVEwqpCPDzXBAsieZ", "MxKbJaRIcpSLPftOyvuZjVgmwNlnQoWeYhTqdXGUAiFsDkHrEBCz", "vYKfiQcJyULMOgnIzhxXdqjWupwakPSNmeAtTrZFlVHBDCsRobEG", "xKvMqglfQzeIiShLoJuwOUNRdWZYrTjtanBybckEDHsXmFAPpGVC", "InEMadYGLJFvNbtmKHOWoQiyuUsRjTPzSxkXwZBehlArDqCgcVpf", "SzLpKvZiIUPmxfHMGJsTaywjuWVhNqkeQrngDOobFRYBXCAtEdcl", "rXOKWzlJIyLRMPjkpUehtonicQxgbsTwYvZHSqENBuamACFfVdDG", "MHGwlYmIpLKOgJtoiuhncVadsvjrReTUPNbQDXyEBqWCfxkSZAFz", "IuzOHnGMVoUKZhJpNeLvdjtcbPqiakRmSXWrfAwgsEBFxClTYDQy", "qjOfIpXwRHMLUaKhJGVYkvbNyWzogiQxPZdsAutmFeDcETCSrnBl", "hJgdHvMVZyKcoGLsIURYqQlnteziuwmXpxPSkjNCOTBWrFfabADE", "rHhMSxIJmLWfUQzKNsRXdyqtvukZeVTcYnpFjEBDgibowPlGAOCa", "TsRLKOQqSIeMrHJPxihWtfUjaNdcknpZXVzBElDGAgYyoFCwubmv", "JPryxVfzKMvQUnILTiXwpaoqYRlNghkbsjcGmDuZWEBCASFdOeHt", "QNHqpMafLhOGiKIkFJsjZlcuSgxrzdoyYTUveDPRnmWwXEtVCbAB", "zlGYLfKJFZIepMPsjHiSbdUumXTtakWRoryQNwcnAxBgvqOEVhDC", "JbqwpMOLkNeKYxotuvTSzrUifnchRWQPjDmdIyCVBGEZlXasFgHA", "MfoNdPeKUsLZgruXYRWwTSQctbmnzVxjOkqBaphAIyvFlGCEDHJi", "YnLIZfMJuVrKypiHdeqakojTgslXvtbPmQxFhzBWwERUGNDOAcCS", "xFSKLUWMIHGZnJRrtvjdleNguXVkqYyQpbazPiOCBEAcowhmTfsD", "PUMfOJoskVKjLbZcImruNWSyivXphYQnRawgxTqBldtFHGeEzADC", "JMynFthjKWLsrVTIPGHYbweuomZSNvfxcRQzgplEdAOUCakXqBDi", "KidJIHLgXPsYvVnbGFMUoQchNtSkzxeRrqjlyuwAZBpOTfmDWCaE", "rKpzugXtGMLVqewIHJFjfvysYdxbUZQSWRknPcDhCOAiBomTENla", "ixMRSdKwYyrzNJILbgPaWokQZvmeTUtOnlAujHCspGcVfDBXEqFh", "eLUsoJzvKVnISXMTbOpRxPWkjuyqNgYmdhClAFDEHaitBZGcfwrQ", "qbIMxSWtwgKjYyfiJLTvhZmsQXeUznVOoapPRDCrulkNBdHFcAGE", "sVMriLJmRdPoUKpQOucSqwetZnXNzjvbyDfghGTEFAlBWYCHkIxa", "wgMiLXyWutkdZhQYPncoNvxVTsapfRrHlOqUCzJejKmBGDIbAESF", "MSWbOtKJvnTIiqLcXpQyUfVdlRZhegxuaowsBzEAkjNDCFrGmPHY", "JgMUtKIyZRLNbcOHsepxSdjkwXnfVairqhmGAEBDQlYuvWozCPTF", "RQnMKbviLplkIrJxYSzPXTsNemUWwaOojVgfZDuACcFhGdBtHyqE", "UKtPRbvLizhXMwegYncTamNojVksqZfQxluCpSBHOIADdWrGFEyJ", "eIfKXHusmMlLJrijWQyocpZSkRUthvPzaYnCxbBTEVdDFwOANgqG", "JyqGMeYLIdxkHKcjQmVUoWbngOtpTXzuviNfslBZwhErPRDFCSaA", "LfdJuSxemsMKOHZVIQqPiYrpbhaTcUyNlvREjzwXkAgnBWtGCoDF", "MPKvtuYlwqgoLQznbmkUcxpSyVfjaiXdhDWZOCGNIERHTeFsrJAB", "zIlJOpnKmxhaLRgrWXjMUkYNqcQuoSdtywDiBvTACZFsEfePbGHV", "kJHIYnPWRvwgMKLZrhxicaVzejmouXltfNOCFSQGDEsbBAdpqTUy", "tuMwHJmsrWULOSiIZoKgxbYaNcvjkhfdpXPQqFeyBTlDCEVRznAG", "nXrptRLKaUJNMPdyuhSWfoQgqbYTOjlcsDmCGIkZFiAzVewxvBEH", "PQLkyMvxmqrVslcUgapjowfORtYThSXWdNznJHIbKAuBGiZDFEeC", "iHNyLFQIKJVGufMUWznxoPTqgYewOkRcstZpdmDClbXhSArvBaEj", "JdaTxfKzjrpLZlVhnMyXtubwkegRWUocQGBPqNSOvFHDsIYiAEmC", "cSOQuIMJlbPKajsLTYzWgnhiZxVNdeRrXvEkUFGmCwqoDBytHAfp", "STIOjqLKPyJgbMrfYvmukiZzUQntlhNapoEAwDXdcWRCeHxGFBVs", "WLPMOmsdvNVJlKQhYcSzfZbaouqpjkyUtwrFRTxgDIGneXAiHBCE", "eQdMjTLIzJmUvKHxuXirpyWaOofqlcnshtkAEGRVwZSNCYFDbPBg"}
Returns: "IEIUFEITIAIBEBGDIZGDGfGAGkHFHBIcFDFwJDKOHFFiIwFpFuFcIAICIpJDLHIwHGIgKxHCGsHEKhIDHCHQJDLWFmJGIEIEJwHA"
{"nKgNuaLoqfITJMVetdPvbylYmSkciwORzjhGsUZHWQrDBFCExpAX", "kyacmXLKIWMZJfUwquNzbeotgpYhnRsVivBlFOQExDTSGjAHCrdP", "LyJoYxKkMShbrpgPZqNscQXziufTlVUmaIOFwjtEvDRdneBGHACW", "JxLMpzsaKvOIiVhSUbYTjXqQylNodwrRnuemFkCBGWgcDAfHZtEP", "mPHIFJgbNMKtWlsGTxuLojfUYwikORhazZrSXAepCqycdQnVEDBv", "UJhIjLKugYNMHlfrVnzacOpQiRStPdkTbxsXyqEBDoeWZGCFAmwv", "bKQxJIqZUuVLkwpMoYcamOrvfldPygijSztGWTNnhFXCHRDeBEAs", "lPjbqhXyuImMKJnLRUvSpzwaxYZcOodsegGHVFrNAWBkftQETCiD", "HxfRLENboFVMQJGcqSUKIkedrOuWnYgTjswtphmylzBvDiZPAaXC", "UJKrfcMLwtidSOZTlghsNaVXpQRmvbxqyueYkjoGPCFHWAEznBID", "vrJauWniyfgbSMIKLdeTomXlwtjkqczsVZYBOhAFCEGURHpPNQxD", "yghNumaJLSeKIjHRMwtQVUsOvqoTYpbdkzZEFcflDXiPnCxBAGrW", "NhfdsnMlKPLvJztRIZYixwSyOUWaVekmqurTpXFoEcgjGCADQHBb", "VUNjyTqJLSeIKMufXazkcposmnixtlRghOPbwDQHCFErGZWdBvAY", "OKwZdGIJFHlMkLrhYVcQWgTmjnpotseXRvyuSABabDPUCNExfzqi", "oQFJmGLXUMKTHZIOtVPsegSYwdhuNxqirvkflDRbAzcaWECnyBjp", "yKmXvMURcLwkSPZiToYNOWxhQVeaqrlpgJfubDBsIjtHnGzdECFA", "tunPVLMivaJrIKwQoUqlpOksWeXNZycxhjCSEmAzbDHBRdTYGFfg", "VSulRrIOJyHcPKLMeaUwnvhqxkZtYfNsbjTWmGgQzFoiAdBDXECp", "JHMeIjkpZRbzhKOLXsvVWiqomntPdQTgSywAEuBUYFNlDcfarGxC", "nlMQSJVIpkbxqfgKLiRocPYWwXdteTvzahCZGOysHUAmrNjDFEBu", "jqxUJMhsibLYetkPKrOWmlTwoXNuVQRnzHvpDgSaBZycEdAGIFfC", "GUMdzLeHFqsJInmyaOpKEtwxVfSTgNkchRQWroPbvljDuiBAXZYC", "yKLxlWgVMOJIsHmfkPNwzeaZoSbUrunpQYvERThqcABtiFdCjGXD", "eJMrWKfgLIZpHzRuhmtjQOovNicyYPwlnkaCAbqBEXGdDUTSFxsV", "HomNhZtvKLIwdMRJQeipcsjVuafyxkzPUgOWYqlCFTGBnEASDXbr", "qlPIKJoGNRHUFLuvMecrsmaXnwkQhWYitxSZgTEDjByVdObpzCfA", "XJpNhlzKIvnMixLryOWuqgtPVasoYUmbfSBCkRFZDHQdGcwTeEAj", "OJknGLHQycKRgiIMemzSWjlXbhdaZqrxNspPTFCBYfVDUEvAotuw", "MtVKIXyWqluRLiJshkzpvZedUbrnQmgcSTjfFGECYxHBowAPaNOD", "fdjKMOieGJzYLHIorWvTUhyVpquSkgZcXabxRFDQAnwsBCPltEmN", "XQdwhcLRHKWMiTIJkgtelNfsxqyzvnouPSOaZFjUVrEpBYCDAmGb", "gJThKIamNtUvMLwbjyPrcZWlinOuXxqSpeCQBVFsDfRAkEdGozHY", "LMqUixwksnKzcYWTamerlbpZtNufSghjBDHvGdQJFyAOoIERXCPV", "iZMocIuktLKHgdnJmOaqVrQNTylsUxYhRwvjzFCSDbGEPAWXBpef", "NHJonLGsTwMqejhRKIvlfruQmkUiSWcytagZOdXPDBbVFYAxECzp", "VheMHJjlLoKNTISQiksdYuwOZxfcbXzvmUWqyRDFEGPCntpgAaBr", "uyZTUhYKrlQMLVqwJoWexvciXbktfzRSdDOnpAHmaCNGjEgsFPIB", "RcMsOYiJLStbKjmongWzZVeauwhylPdqvkBrCFIfQTUHpxGDENXA", "iMaJtpIKHSnoYyLUdWmwglVbRqcheQNsOZrDzkCETfuXPxBAjGvF", "YKvQyktPXWiHcJnMLIOrzubxZRSdgsqojwNapeUDEmfFVChAGlBT", "mYSMlaisLQVKZrWhTqUzkjxgcONpRtowXEenvFdJAyPDbuBfHIGC", "qPJkMepLKwVdTuHXInSxzahUcslimgfWytQoEDYjAObGCvNBZRrF", "GQvdLPIEMkgRJbrFnSqHKWhasepoZytuNUYVXwCjiOBAxTcmlzfD", "MJeLtqHKPpNIyZQfszYSnWvbmUwdigrcTVohOGukDAFCEBlRXaxj", "uZxeKofMzmQJIjLtlHrsWpkiVShqNywnRTYGXBcPaOUCgvAdbEDF", "xKLutQIUTkaGHcNyJMhzPqWefRldrmoYisbXpOjSBFAZgnvCDwVE", "wqSKyJLpMhxZvmUzcRjfblnTguVNdXPWOeFGtHrYkDsiCIAEaoQB", "qiLMzruPTIUhHcZlWGJFKgVQeRjsvmawXkOSbnEyNoCBYfdpDAtx", "yeGgzjYJLkIiNFTXMHKRcZfdUPVxwhoQnqsmlApbBOvrWaStuDCE"}
Returns: "IhIBJIIeFAHXItIGEmJuIYHEIrIPFAFDKgICHWHAICJHEPHEHCHWFTIBGTIjGRHaICKBHjGOHqJDJkHDHaKXHoECHhHGGpJeFnFA"
Submissions are judged against all 23 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Language: C++17 · define a public class MagicTrickWithCuts with a public method string solve(vector<string> queries) · 23 test cases · 2 s / 256 MB per case