QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#656856 | #8234. Period of a String | ucup-team3646# | RE | 60ms | 7916kb | C++20 | 3.0kb | 2024-10-19 13:47:24 | 2024-10-19 13:47:25 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define elif else if
#define vi vector<int>
#define vll vector<ll>
#define vvi vector<vi>
#define pii pair<int,int>
#define repname(a, b, c, d, e, ...) e
#define rep(...) repname(__VA_ARGS__, rep3, rep2, rep1, rep0)(__VA_ARGS__)
#define rep0(x) for (int rep_counter = 0; rep_counter < (x); ++rep_counter)
#define rep1(i, x) for (int i = 0; i < (x); ++i)
#define rep2(i, l, r) for (int i = (l); i < (r); ++i)
#define rep3(i, l, r, c) for (int i = (l); i < (r); i += (c))
struct ScalarInput {
template<class T>
operator T(){
T ret;
cin >> ret;
return ret;
}
};
struct VectorInput {
size_t n;
VectorInput(size_t n): n(n) {}
template<class T>
operator vector<T>(){
vector<T> ret(n);
for(T &x : ret) cin >> x;
return ret;
}
};
ScalarInput input(){ return ScalarInput(); }
VectorInput input(size_t n){ return VectorInput(n); }
template<typename T>
void print(vector<T> a){
for(int i=0;i<a.size();i++){
cout<<a[i]<<" \n"[i+1==a.size()];
}
}
template<class T>
void print(T x){
cout << x << '\n';
}
template <class Head, class... Tail>
void print(Head&& head, Tail&&... tail){
cout << head << ' ';
print(forward<Tail>(tail)...);
}
using S26=array<int,26>;
void printS26(S26 x){
rep(i,26)cout<<x[i]<<" ";
cout<<endl;
}
void solve(){
int N;
cin>>N;
vector<string>S(N);
int mx=0;
rep(i,N){
cin>>S[i];
mx=max(mx,(int)S[i].size());
}
S26 E26;
rep(i,26)E26[i]=0;
vector<int>sz(N);
vector<vector<int>>A;
vector<S26>memo(mx+1,E26);
vector<int>seen(mx+1,0);
rep(i,N){
sz[i]=S[i].size();
A.push_back({});
A[i].resize(sz[i]);
if(i==0){
rep(j,(int)sz[i])A[i][j]=j;
}
else{
rep(j,(int)sz[i])A[i][j]=A[i-1][j%sz[i-1]];
}
S26 rem=E26;
rep(j,sz[i])rem[S[i][j]-'a']++;
int L=0;
for(int j=1;j<sz[i];j++){
if(A[i][j]==0){
rep(k,26)rem[k]-=memo[A[i][j-1]][k];
L=i;
}
}
rep(k,26){
if(rem[k]<0){
print("NO");
return;
}
}
int last=A[i][sz[i]-1];
if(seen[last]==0){
seen[last]=1;
memo[last]=rem;
}
else{
if(memo[last]!=rem){
print("NO");
return;
}
}
}
vector<int>wariate(mx);
S26 tmp=E26;
int idx=0;
rep(i,mx){
if(seen[i]==1){
rep(k,26){
if(tmp[k]>memo[i][k]){
print("NO");
return;
}
rep(memo[i][k]-tmp[k]){
wariate[idx]=k;
idx++;
}
}
tmp=memo[i];
}
}
print("YES");
rep(i,N){
string ans;
for(auto j:A[i]){
ans+='a'+wariate[j];
}
print(ans);
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin>>T;
rep(T)solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3624kb
input:
4 2 abc abcd 4 bbcaa cabb acabbbb a 3 ab aab bbaaaaab 3 ab aab bbaaaaaa
output:
NO YES abbca abbc abbcabb a YES ab aba abaabaab NO
result:
ok ok (4 test cases)
Test #2:
score: 0
Accepted
time: 0ms
memory: 3568kb
input:
5 1 ccecddbdbbcbbaded 3 cd d d 1 dcedec 2 dcec cce 8 a e a c cc cccccccc c b
output:
YES abbbbbccccdddddee YES dc d d YES ccddee YES cced cce NO
result:
ok ok (5 test cases)
Test #3:
score: 0
Accepted
time: 60ms
memory: 6580kb
input:
100 147 ababbbaaaaaababbbbbaabaabbbbaaaababbbbababaabbbbaaabbabaaaaaabbbbaabbaaaaaababbbaabbabbaaabbbaabbbabaabbbbaabaabbaa aaaaabbbbababababbbaaaaaabaaaaabbaabaabaaababbabbabbabbaabbaaabbaabbaabaababaaabbababbbbbaabaaaaabbbbaabbbbbbaaabbbbabaababbbbb ababbabaababbbbaabbbbaaabbabaabbaaaababbbabbaaab...
output:
NO YES baaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbb ba bababababababababababababababababababababab bababababababababababababababab babababab bababababbababababb bababababbabab baba bababababababab b bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b bbbbbbbbbbbbbb bbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbb bbbbbbbb...
result:
ok ok (100 test cases)
Test #4:
score: 0
Accepted
time: 60ms
memory: 5212kb
input:
100 326 decadadcaaacaaeecaddaeadeadc aaadedcaaeaaeddddaeaceaddaaaaecccaaeadeaaedaccdddcdddaaaadddacceaaadcadaeeeadeeadccdaacadaaecaedadcaaaecdaddaeaaaeccdedaceaaaacdddcecdcdacddccecaaaeaeedacaeaadaaacdadedae acaecaaaedcdaceaaddddaaeaddccdaeaadaeedaecdacaadeeaadeceadacdadaccdaaedaddccaceea ddccacdcea...
output:
NO YES ebccdeabb ebccde ebccd ebccdebccdebccdebccd ebccde e eeeeeeeeeeeeeeeee eeeeeeeeeeee eeeeeee eeeeeeeeeeeee eee eeeeeeeeeeeeeeee eeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeee eeeeeeeeeee eeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeee eeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeee eee...
result:
ok ok (100 test cases)
Test #5:
score: 0
Accepted
time: 53ms
memory: 7916kb
input:
100 1114 mmiceajjcjdemdhf c ccccccc cccccc cccccccccccccccccccccccccccccccccccccccc ccccccccc ccccccccc ccccccccccccccc ccccccccccccccccccccccccc cccccccccc ccc ccccccccccc ccccccccccccccccccccccccccccccc ccccccccc cccccc ccccccccccccccccccccccc ccccccccccccc ccc ccccccccccc ccccccccc cccccccccccccc...
output:
NO NO YES acgbacmikmfaaddehiibfjkacaaaaaabbbbbbcccccccccdddddeeeeeeeeeeeeefffffffgggggggghhhhhhiiiiiiiiijjjjjjjjkkkkkkklllllllmmmmm acgbacmikmfaaddehiibfjkac acgbacmikmfaaddehiibfjkacacgbacmikmfaaddehiibfjkacacgbacmikmfaaddehiibfjkacacgbacm acgbacmikmfaaddehiibfjkacacgbacmikmfaaddehiibfjkacacgbacmik...
result:
ok ok (100 test cases)
Test #6:
score: 0
Accepted
time: 55ms
memory: 5572kb
input:
100 512 tecvaycvrbprboqldxlzjmlbfxaseuomtjxenfyoxkmjqkifjpacqytpxmbxleryljfxeoghwfhcnhvimgkvdwjcwatlppmwbbygdbiyzvlrfqjmdnuioulrgmwfkutwgavesanvdzbypveznnvrddujscaekxauxwi nqmlelkfqrvjbwdlvtbzxkd kbdqfbqxqqvmkllqltebqmlrnxvxflkzedrmbwknzltfbllqllbwllwqrvkzmrdqlldvnfbkqxbdkewxrzbbndvfqrnfklllxxkvqkjf...
output:
YES vzxjrblkeqmvnftqbdkdllwaaaaaaaabbbbbbccccccdddddeeeeeeeffffffggggghhhiiiiijjjjjjjkkklllllmmmmmmmnnnnnoooooppppppqqrrrrrsssttttuuuuuuvvvvvvvwwwwwwxxxxxxxxyyyyyyyzzz vzxjrblkeqmvnftqbdkdllw vzxjrblkeqmvnftqbdkdllwvzxjrblkeqmvnftqbdkdllwvzxjrblkeqmvnftqbdkdllwvzxjrblkeqmvnftqbdkdllwvzxjrblkeqmvnftq...
result:
ok ok (100 test cases)
Test #7:
score: 0
Accepted
time: 53ms
memory: 6204kb
input:
1000 379 hdiyyp ihy hyhyiih hiyh iyhhihihhyhy yhihhyyihhih h hhh h h hhhhh hhhh hhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhhhhhhh hh hhh hhhhh hhhhhhhh hhhhhhhhhhhhhhhh hhh hhhhhhhh hhhhhhhhh h hhh hhhhhh hhhh hh hhhhhhhhhh hhhhhhh hh hhhhh hhhhhh hhhh h hh hh hh hh hhhhhhhhhhhhh hhhhh hhhh hhhhhh hhhh h hh...
output:
YES hiydpy hiy hiyhiyh hiyh hiyhhiyhhiyh hiyhhiyhhiyh h hhh h h hhhhh hhhh hhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhhhhhhh hh hhh hhhhh hhhhhhhh hhhhhhhhhhhhhhhh hhh hhhhhhhh hhhhhhhhh h hhh hhhhhh hhhh hh hhhhhhhhhh hhhhhhh hh hhhhh hhhhhh hhhh h hh hh hh hh hhhhhhhhhhhhh hhhhh hhhh hhhhhh hhhh h hhhhhh ...
result:
ok ok (1000 test cases)
Test #8:
score: -100
Runtime Error
input:
10000 21 uiutbnjregblkwbpztgdbmahtlhe dtulrltbnbtlbggtwmteiwzbejzdlzbtbutiapwhnurumbnutkekbjehanphbhrn unt tnnntktntttttnttutnuuuuuunntuuuntununutnntuttunuutttntnuntnuuntuttunnuututuntuttntnunntuntnnuuttutunuunnunuutnuuutnutnutnnntntntunnttntuuttnnuunnnnuuutntn uttnnnntuuuutututtnttuutuuttnnnnntunnu...
output:
NO YES y y y y y YES kabhlmmszgklamrcgo kabhlmmszgklamrcgokabhlmmszgkl kabhlmmszgklamrcgokabhlmmszgklkabhlmmszgklamrcgokabhlmmszgklkabhlmmsz kabhlmmszgklamrcgokabhlmmszgklkabhlmmszgklamrcgokabhlmmszgklkabhlmmszkabhlmmszgklamrcgokabhlmmszgklkabhlmmszgklamrcgokabhlmmszgklkabhlmmszkabhlmmszgklamrcgokab...