QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#16260 | #1653. Codenames | perspective | AC ✓ | 1827ms | 404452kb | C++ | 3.4kb | 2021-12-07 08:50:28 | 2022-05-03 23:30:56 |
Judging History
answer
#include<bits/stdc++.h>
#include <ext/pb_ds/priority_queue.hpp>
using namespace std;
#ifdef local
template <typename T>
string to_string(vector<T> v) {
bool first = true;
string res = "{";
for (int i = 0; i < static_cast<int>(v.size()); i++) {
if (!first) {
res += ", ";
}
first = false;
res += to_string(v[i]);
}
res += "}";
return res;
}
template <typename T>
string to_string(vector<vector<T>> v){
bool first = true;
string res = "{\n";
for(auto I:v)res+= to_string(I)+"\n";
res += "}";
return res;
}
void debug_out() { cerr << endl; }
template<typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {
cerr << " " << to_string(H);
debug_out(T...);
}
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 42
#endif
typedef long long ll;
#define f(i, l, r) for(int i=l;i<=r;i++)
#define rf(i, r, l) for(int i=r;i>=l;--i)
#define all(x) x.begin(),x.end()
const int N = 3e5+10;
const int mod = 998244353;
ll power(ll a, ll b) {ll res = 1;while (b) {if (b & 1)res = res * a % mod;a = a * a % mod;b >>= 1;}return res;}
int main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#ifdef local
freopen("../in.txt", "r", stdin);
#endif
int n;cin>>n;
vector<string> t(n+1);
vector<int> S0(1<<25),S1(1<<25),pos(1<<25);
pos[0]=1;S0[0]=1;S1.back()=1;
for(int i=1;i<=n;i++){
cin>>t[i];
int S=0;
for(auto I:t[i]){
if(I<'z')S|=1<<(I-'a');
S1[S]++;
S0[((1<<25)-1)^S]++;
pos[S]=i;
}
}
for(int i=0;i<25;i++)
for(int s=0;s<1<<25;s++)
if(s&(1<<i))
S1[s]+=S1[s^(1<<i)],
S0[s]+=S0[s^(1<<i)];
int q;cin>>q;
while(q--){
string b,c;
for(int i=0;i<5;i++)cin>>c,b+=c;
vector<int> a(25),p2;
int g=0;
for(int i=0;i<25;i++) {
if (b[i] <= 'Z')a[i] = 2,p2.push_back(i);
else if (b[i] == 'r')a[i] = 1,g++;
}
auto count=[&](){
int c0=0,c1=0,s0=0,s1=0,s2=0;
for(int i=0;i<25;i++){
if(a[i]==0)c0++,s0|=(1<<i);
else if(a[i]==1)c1++,s1|=(1<<i);
else s2|=(1<<i);
}
int ans=0;
if(c1<=c0){
for(int s=s1;;s=(s-1)&s1){
int k=__builtin_popcount(s);
int f=((c1-k)&1)?-1:1;
ans+=f*S1[s|s2];
if(!s)break;
}
}else{
for(int s=s0;;s=(s-1)&s0){
int k= __builtin_popcount(s);
int f=((c0-k)&1)?-1:1;
ans+=f*S0[s|s2];
if(!s)break;
}
}
return ans;
};
while(p2.size()>9){
a[p2.back()]=0;
if(!count())a[p2.back()]=1;
p2.pop_back();
}
int s2=0,s1=0,res=-1;
for(int i=0;i<25;i++){
if(a[i]==2)s2|=(1<<i);
if(a[i]==1)s1|=(1<<i);
}
for(int s=s2;;s=(s-1)&s2){
if(pos[s|s1])res=pos[s|s1];
if(!s)break;
}
if(res==-1)cout<<"IMPOSSIBLE\n";
else cout << t[res] << " " << g << "\n";
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 867ms
memory: 396500kb
input:
3 actor cheat zeta 1 rBBnR NRnbB nRRnR NRxBr nBRbB
output:
actor 2
result:
ok OK
Test #2:
score: 0
Accepted
time: 1598ms
memory: 404428kb
input:
100000 elqhnetajrxtexqelrfc mkvfckyvpdcyjvojoidq cwvgawpgvrjcjpcepmgq chmwujlinjcintvlkvkr pnyhiaxrkuyhuahepxng wcrrkrwymclhhjeacypg txcxpaqkirtcxqyydiro hxnpoyeycpqxdgempgctp angigamneabnhgjdbeely eaacjfumbqnngejwqqgp ufffbsppvgbjjgvhbdvi srkdpatxsanakxtrhprg jbwyapjyspjrqfupoasc evleiposkxmnpxdymo...
output:
bqewjwokxexykquvnqjr 7 sdaasbnwuquooiiwdtml 7 fxggsxcqjdplrpeodgfn 6 iaxylkltwjiykitbbryh 7 vhnomhhfuvkfgkbtguox 6 tfqaotcmiglgitlmotxut 7 lfmcsjxaovfcjojgjrou 7 iihfdlfvrudawdqofliy 6 yeukaduiicfvieuebogx 7 gpgtpubjsmtfpatgaatv 6 wmdhrjgtjqacrcuhqcvs 5 hvbxxdybvlexchyivxboa 7 ohswwwtoxvvwyntwnbcuxk...
result:
ok OK
Test #3:
score: 0
Accepted
time: 1764ms
memory: 404284kb
input:
100000 ktglptogbrjtkojqbo pnrwcppddjkxiumbw itkfkaaskgbbwigj cisexgqsmohonvdl ltxuruvqhmyfstwam rmyqktnfiqigpyrb iqcjwycfyaewlqas ygvpyuxgxnxylqod llrppayuqlncfblt kjqfemveotvbsjkd kiehemetflndmikb atjxiumicxkktygf ftxprhominotnqmmg uqbdtupbxocmcbkv eesymnhkoltcmlod aueucienoipohneoo modcffaedqqlafn...
output:
qajvjukoyfxmujjp 7 ldhkkvdckdjxjrcn 7 qmqtqvorslcbvpsf 4 kmsyjpaalemqpyebqqn 7 unnvwjetxijwxtfb 7 tonudvctdxxuuawg 7 uingforidrbrkcry 7 eollveomcujgunns 7 swdwbfgtjlkovjwsma 7 vmfdkyxfdbljhscp 7 feihufwwmefmypbd 7 bbvobvhltowfxqjg 2 enltshqpdrenvghxub 7 ntwjhtqvldwiirxf 7 exbrbtxfvcoueufj 7 aeylyeoo...
result:
ok OK
Test #4:
score: 0
Accepted
time: 1656ms
memory: 404340kb
input:
100000 srdfpsajcabsdyypblnmkydkblxjcq yyvwesfhwjjpfrbfsbkqnqanrornkm wcaolxfulvvduvxxamfqoqogwofvwi ayjkyafapxaljgrllagfybpapofoxq ytqmjsfiqmhevvjixbhygmjnemxljr msiegrgwicnexrunhibybgrwghuemq dstffbynonlnlpdtltffwgbfttxlfz kbbeahfbcfqqbbeuxojtroiutkcftg kqofpvmecbjitvvuxbskfpaoojxjqy tyccmmehficqth...
output:
appssdbhdyljgtkegddvtwlunkjdni 6 rqqrrnsosiniadbcnnwoisdcqnfbhg 3 cxjdrqamrndyrcwjayjopkkwjllcwb 6 avxwqclhwdagsvqbhvedwvjvhigibo 5 kxjcbjvlgbjpkimedlmmqkeeyypqxs 6 erahkexdawuummjvwpvkwbrwubwnnt 6 ekhaeogjqeeobbehiqqmyjvomthahc 5 vftbfjeddhhmffhvhvgqhfjhlwfxes 6 vovtotrshbhuvrkdvshiaphobdroxf 2 xpl...
result:
ok OK
Test #5:
score: 0
Accepted
time: 1566ms
memory: 404452kb
input:
100000 dolfdepkwgaulpokkwwk lfwefbbryleomriwuajt klvbivnfojughhfkbgds fnhrufroxfqutjqnggxs yqhmjhmbxiklybjusmxc lfpeefrjxrpldnfscvxt ftdlobogvvfgaiynnysm ehevewoqaeyuymtbjdqk fccssxdhicmvsrxygwxd yqckkixyyukgkxnwxcwb hcvqrtdvrcjxobovnbwy paxuatcocovsupobfbir eswjnywsnevrjyefngno wpcmcwjvbwoppkaehfbq...
output:
dcldduaeqcletcaxhsxo 2 njtrsajcwybcobdigleu 6 ycujpubvtmmibtbuyncd 5 ieocyubxcfffaifkcrgh 4 bdwytgevmrevnpgrrtjh 5 nfsuccreawogiaiqftsb 6 rdfxktsxnxtroklfwkah 4 hlldcoulbwmaapvvhwlf 6 bysqvqwpakutdrcbbeag 5 riipxycnvwrnruhhvpxm 3 nrismhicxaaiwkhmgmat 6 uwrvxbhhioqlahivlpvf 5 qqhobnogkixnlljjpbgu 4 p...
result:
ok OK
Test #6:
score: 0
Accepted
time: 1827ms
memory: 399516kb
input:
100000 sycrxchoiqpbn hbgwwtcmtmsoln gfkoekgbudwin opsvawubfctvl nkbpbldtpeudj gawbjoptpqdan dcvkyxifsvfal vfjnctrfkrqyi ejotlcalhjsuq ebyigyulkepoc gbjrgshldchbn mdmgcixhajqsw vssbkddvsevvm lejlihhuajsdq wxbrpfwkgwmrq cxjonbjxvshql vjxpyvjwktlhft pqkuqhagjboke eowkmghpwjjgnd aywvehjkhedxr iwtqxiwvko...
output:
mdeflgjiibgun 7 hvocjjiboxtyk 7 begftifokjliy 7 bwankwtalfytc 7 bwdosbicauqfd 7 thtdmknqlwxvo 7 ejvtlvhtbldxa 4 vvpaadxhwyult 7 hwfpuybnopiuq 7 uokrduduawfpn 7 emxflredqsahn 7 biqmpwfehifec 7 ysijsnursfvwx 6 elhxbamciflynj 7 iwawhsgfusape 7 ocvkcyucnqqrt 7 ocrulqaojmlphj 7 goxtncueugcgw 7 qipaadvgmn...
result:
ok OK
Test #7:
score: 0
Accepted
time: 1538ms
memory: 404332kb
input:
100000 drjfnddxclqyxbchqyrtqaew vyciggoxoytxcakybpgusmke qenyjdjxcvuvrxwyficpjxvbc lluukkdjprgoyleryldiphrs aitvhsjjvvixxdaxuwxghtxl kxyfnecpxlevsuyjhivjuncrl bfipfspsththixxmbtuwlckrk ywojxvofvpgguonqaarlpwjdo uwpteeknbgnhgettvmvtcuds ixbquqfibdsxigxkxyeditvrn ytkwirsuvmfexywccjmhtotg adxhsaqglerfr...
output:
ebsemuhvrbrmixvsvdudgbyn 4 njupjesmoxswafkdujredaha 4 nousirioskxhdtbifvflhqwp 4 inrixnrubcpruhciouwhiptm 5 pabuobamtquifadjbbjowggr 5 rvxhiglscinafdtremmoxhmb 4 slpmtmruqlairuxmtpkwxvwg 5 mglemaxrmqgrrbvsgnimlafc 5 jvxhyxoxxjjjkfklyyfrvlou 5 evlciciaharlkcryhvdwnrmo 4 tcsilsrprtwjulnsfdwkrhbq 5 maw...
result:
ok OK
Test #8:
score: 0
Accepted
time: 1405ms
memory: 399432kb
input:
100000 fqcjarqfl cljuaphxe liimhwhvr mxqmsnilp mndapkfxid maokbecdr knoeifvfc rmkgkrdsi hfrntlxuw jagpdtrpex qgvqwrohcb dyudsjskt xfyrtwffv nlhmhehay peknoaacba ooqavcjkd bpbncuqjs drlyhwacu ihkvwajrx dhkhslhrj xkrfcieij nsvtvjlsg gosydfthp obpcogedn yshibnteg hoalyohne gmjobrytf sbhjedabt puhahyvwv...
output:
irqxpsvpfk 3 guiyhixkd 2 knpkvvxxs 3 xaiptxvoq 3 gwccvuira 3 kfqtwmiov 3 fhmpayvkq 3 cnhfcreys 3 dbemtmpfg 3 fmvgkjwgr 3 pulmvnbhj 3 bplxrheqn 3 hxecjdqifx 3 tcchmghpf 3 ixumtwgwkt 3 pkanxwcio 3 plfefshybvi 3 eccrokbai 3 xupnjllac 3 sxcxontqe 3 xmwjwvlvh 3 gxcqasicn 3 csqwlprvg 3 ovddyjaru 3 rcjiruu...
result:
ok OK
Test #9:
score: 0
Accepted
time: 1331ms
memory: 399520kb
input:
100000 qrbx gmhv yobm xfgl iwkd ugiq hvnibj aswp lbej ygfxn koyx rtogf xbfm lguqc xvrf vyjr pwyo rbmtd xuoe gkfu vyuh wuic nhur labq vgdxs xuoj hrjs cgphs lkdi lqgb unjha canb cmtr cxat vmhq juod pnxm bxtjtf brne tjvo ucxr nqegx ojwa xsuq sqab eutb cvpe trsq ayedi wljd oqfb qlsw yqcpt ehwo dpqe sldn...
output:
blpf 4 wjbi 4 jkbik 4 dlhy 4 vlxhd 4 xwlmh 4 dtic 4 mhqu 3 dikl 4 yaoh 4 hedc 3 fwmk 4 hkyo 4 jnlw 4 cfqg 4 bcdv 4 qlga 4 asbu 4 ybmv 4 vptx 4 xklu 4 ydul 4 lbgm 4 jmpi 4 yptgje 4 btgl 4 nbyp 4 eianj 4 xcmu 4 rgbm 4 gaxr 4 elhd 4 fscu 4 smxus 4 ucdv 4 wfsu 4 eard 4 ojut 4 mwnh 4 iwlcy 4 nomj 4 yfgi ...
result:
ok OK
Test #10:
score: 0
Accepted
time: 1491ms
memory: 399560kb
input:
100000 fvkxyvoemo faibbosqw fixtifclg fhkbghxvu rvncsmygw xvntvxgmi fsvjflqga eoihuvckss onvdpmrwg yllugptkd mobejpeva adfufyrkqg atjdjtuick efjvancqr ypkktlggno hwfkkfgqot phcjyybya lwpbtlxarw wphyrbxet gavkuuste jkrwpdmnf efymdftqi hereuawto muxngxpofa kjljbhnhp cpwydtxpr lvqtqgxuf yuibyttcx xetua...
output:
lqejverya 7 jdebppahv 7 pvillfsid 7 bfaceuiyqk 7 friyovegms 5 hramvfakq 7 ndnsjucktfz 7 nsptyjxic 7 hnvfspkmc 7 salfonpquj 7 agyhxngic 7 dkapgimln 7 btsdnxyfow 7 nnedlwrocy 7 khhgmcnyi 7 djcdhlyme 7 neagylcbfz 7 hfxbwspsvu 7 xnfbtkonq 7 yetgmnhix 7 qcjkvhwju 7 exxdfevjy 7 oyhesmlkg 7 bbvdhgmbs 7 qkf...
result:
ok OK
Test #11:
score: 0
Accepted
time: 1779ms
memory: 404276kb
input:
100000 udeisirksumgpnkdptgx obpbecioogooysbeomrh fvacddwxyltvckkxaaro aykrklkggaioudikoflx mdlurjsqedylpktcteuh yrtbckodycctknntbcsa tmktmhkukpavwfdwbfcg ifqyiftpqygxqxsfyptr rhuxxhjktbppsxdrwkfn yffeakwyejswpfpnkpbu lbvtdorrnebdydniurbh xgkokxjyquttihnkxkrwm vhssnwppqayfhuqlnciky jbbwsctbeeutbswvfr...
output:
aunskuacirqnrfwfhwtj 7 aleexbawcvtroawbijcu 6 avwiiixxjbqhvdqbvaaf 7 mmicsnklhhiihylhcttp 6 elpsfjujbhrevmyevlrr 7 dmglliwijtigcyyfqofe 7 lrypjtrdaqyxhllpqxie 6 iglnhclgehvwvbqnhied 7 ifddoavlqdiibmlejbopix 6 akvojpbixbmucbmupxuq 6 eohdbdwerhrqsdbjggli 7 vncnblkirkcioegefqftu 7 fqartcdoctbbglosajfy ...
result:
ok OK
Test #12:
score: 0
Accepted
time: 1199ms
memory: 397148kb
input:
10000 epoarwirgbseovyvm inswqfprsjrsqxmv duqyvuwrocjgnjf mdltatwhdgyrren hhjuejejlnhqvvscc ahuqnjnuyjfqwgiop fmirskawesoejmxsy xoejtiaagjraxmlf jpnpuejuasdpawrg edhyfynkgamyeupw edkltbnxyceteep vfcuclfmglsaoiy uylcbalcbwvndleguuu hbhoixetoilismq ykghcclpyjfjmmssjkl jbmfxwkfhyliimq xyggrngvkqsguipa r...
output:
ivkxleqcksvnpijgt 3 ppsqcdstjtagelnla 3 pxcghkkhsnyqxfuvfm 3 ikpvltmrqsbimcush 3 nualfarqctljgvs 3 ttxkvggftlcvoqsi 3 mdmebdloobsnmdpa 3 qvqckoxvioshtpm 3 uqjfggaqttwvjci 3 vhqefxuulnyakht 3 texktcogncoqgghw 3 tfegborgwxhklsn 3 mowxkjxwgjwjmbu 3 evarkxevxpurksmsfo 3 tvxrxdcpfvupisnz 2 cfhtjsowhljrsl...
result:
ok OK
Test #13:
score: 0
Accepted
time: 1209ms
memory: 397152kb
input:
20000 nihhjixfk balwnotjca uhgeacgbn vuljupyxuk mqcxqqcgb atohkruf uwrvhscfx vudywbla xsbwkftg wallmxeob jbyebjmihhot ihkrbpafi xetnoqhd tnytmpwlxgb jnwnicrb aiokxqjnry jgkkhpvdxh ptdpbbbjla ufkeokip vounpqjlsc rblobimge vyboqkbpry wlicyqkm phcerdjvy roarpcpf snowjsoxu vjdtxgju dygjunotkq vebvekqy l...
output:
tgajswov 3 teglxdhsicn 3 gxrybfvwn 3 btirhjmym 3 wtvmhmkl 3 seubcmtvh 2 hhqdmtby 3 nlfcdfliap 3 gooncwqdb 3 lmibjhdk 3 yffiwqol 3 qtkrsdmomm 3 jvipjopa 1 udxynhvbzv 3 pjoarnpt 3 lawcivruxq 3 bjttbkhxg 2 nmjuwnpq 3 rckdvgloebz 3 ktxuxrrb 3 kemsjdpbq 3 cpwluevhvj 3 rkyidwpud 3 lammvwdou 3 wtdtotte 3 k...
result:
ok OK
Test #14:
score: 0
Accepted
time: 1199ms
memory: 396888kb
input:
10000 skskcjwksvswxwyclf lcmmdhxrmgmwp vgbyowxcjfxaa riskdngidgtje isillkwgmlhjz pknbgepciagdueyewgr torrbwhutmrjj trnmcdyxnvkagz ugamldvbxqgji kdtodylsdhwa cueclpecbccdsdon tevofrrlfjvkdv kmprlwjtyindoyq fufeshokckktcqe cvssdhocpqvw uinepwahuajkrr fpqtikyswrqd mobsnsaqnjawux ehllrajyqfldygnl bjocky...
output:
rjugqaivkvidcret 1 rjugqaivkvidcret 1 jwxctpigjtlaz 1 rjugqaivkvidcret 1 dyatmjbksxlrrbb 1 rjugqaivkvidcret 1 saxybfrshbkwaf 1 wtwhqnlrxsvavrj 1 dyatmjbksxlrrbb 1 rjugqaivkvidcret 1 lytxwucgvdsjkp 1 jwxctpigjtlaz 1 dyatmjbksxlrrbb 1 auddmbhjabifo 1 dyatmjbksxlrrbb 1 dyatmjbksxlrrbb 1 jwxctpigjtlaz 1...
result:
ok OK