diff options
Diffstat (limited to 'doubleStrings')
| -rwxr-xr-x | doubleStrings/main | bin | 0 -> 64192 bytes | |||
| -rw-r--r-- | doubleStrings/main.cpp | 32 | ||||
| -rw-r--r-- | doubleStrings/main_input0.txt | 20 | ||||
| -rw-r--r-- | doubleStrings/main_output0.txt | 3 |
4 files changed, 55 insertions, 0 deletions
diff --git a/doubleStrings/main b/doubleStrings/main Binary files differnew file mode 100755 index 0000000..c2ecd0d --- /dev/null +++ b/doubleStrings/main diff --git a/doubleStrings/main.cpp b/doubleStrings/main.cpp new file mode 100644 index 0000000..532a4c5 --- /dev/null +++ b/doubleStrings/main.cpp @@ -0,0 +1,32 @@ +#include <bits/stdc++.h> + +using namespace std; + +int main() { + ios_base::sync_with_stdio(false); + cin.tie(NULL); + int tt; + cin >> tt; + while (tt--) { + int n; + cin >> n; + vector<string> v(n); + for (auto &x : v) + cin >> x; + set<string> st(v.begin(), v.end()); + string ans = ""; + for (int i = 0; i < n; i++) { + int len = v[i].size(); + bool ok = false; + for (int j = 0; j < len; j++) { + string prefix = v[i].substr(0, j + 1); + if (st.find(prefix) != st.end()) { + string suff = v[i].substr(j + 1); + ok = ok || st.find(suff) != st.end(); + } + } + ans += ('0' + ok); + } + cout << ans << endl; + } +} diff --git a/doubleStrings/main_input0.txt b/doubleStrings/main_input0.txt new file mode 100644 index 0000000..d988bc1 --- /dev/null +++ b/doubleStrings/main_input0.txt @@ -0,0 +1,20 @@ +3 +5 +abab +ab +abc +abacb +c +3 +x +xx +xxx +8 +codeforc +es +codes +cod +forc +forces +e +code diff --git a/doubleStrings/main_output0.txt b/doubleStrings/main_output0.txt new file mode 100644 index 0000000..450a42b --- /dev/null +++ b/doubleStrings/main_output0.txt @@ -0,0 +1,3 @@ +10100 +011 +10100101 |
