QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#703763 | #6516. New but Nostalgic Problem | libantian# | WA | 20ms | 5660kb | C++23 | 1.5kb | 2024-11-02 18:26:31 | 2024-11-02 18:26:32 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
#define pii pair<int,int>
#define fi first
#define se second
#define all(_a) _a.begin(), _a.end()
const int N=1000010;
int son[N][26],cnt[N],idx;
int n,m;string res;
void insert(string s){
int p=0;
for(int i=0;i<s.size();i++){
int u=s[i]-'a';
if(!son[p][u])son[p][u]=++idx;
p=son[p][u];
cnt[p]++;
}
}
void query(int p){
if(m<=1)return ;
int sum=0;
int pos=-1;
for(int i=0;i<26;i++){
if(son[p][i]){
if(cnt[son[p][i]])sum++;
}
}
if(sum>=m)return;
for(int i=0;i<26;i++){
if(son[p][i]){
if(cnt[son[p][i]]>=2)sum+=cnt[son[p][i]]-1,pos=i;
}
if(sum>=m) break;
}
if(pos==-1)return;
res+=(char)(pos+'a');
query(son[p][pos]);
}
int last;
void solve(){
for(int i=0;i<=last+2;i++){
cnt[i]=0;
for(int j=0;j<26;j++)son[i][j]=0;
}
idx=0;
cin>>n>>m;
res.clear();
int num=0;
last=0;
for(int i=1;i<=n;i++){
string s;
cin>>s;
last+=s.size();
insert(s);
}
query(0);
if(res.size()==0)cout<<"EMPTY"<<endl;
else cout<<res<<endl;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
cout << setiosflags(ios::fixed) << setprecision(15);
int T;
T=1;
cin>>T;
while(T--)solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 5576kb
input:
2 5 3 gdcpc gdcpcpcp suasua suas sususua 3 3 a b c
output:
gdcpc EMPTY
result:
ok 2 lines
Test #2:
score: -100
Wrong Answer
time: 20ms
memory: 5660kb
input:
20000 5 3 apveofpr irdbqk rnionnjjrk wrpihlsw ofylfsriof 5 4 iiltghqg kybhogptqf jfnmqxzrdq rpztcluq tzmnrcjae 5 5 ysp vujmkkcutl ksawqeiiaf waukilaq wmlsutlued 5 3 pikybt yiqmqvtjeq tyrsoihf vnvjrxpus cuubpacubb 5 2 rihuvikhg twrsuoervz ukiekoohw eysqgndpf sxswpeqtaf 5 5 vxzhicbp nvtdbgqal jilppvpt...
output:
EMPTY EMPTY w EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY o EMPTY EMPTY EMPTY EMPTY EMPTY t EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY w EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPT...
result:
wrong answer 1153rd lines differ - expected: 'e', found: 'ee'