Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- bool cmp1(string a, string b) {
- for(int i = 0; i < min(a.size(), b.size()); i++) {
- if(a[i] != b[i]) {
- return a[i] < b[i];
- }
- }
- return a.size() < b.size();
- }
- bool cmp2(string a, string b) {
- return a.size() < b.size();
- }
- main() {
- int n;
- scanf("%d", &n);
- char **v = new char*[n];
- for(int i = 0; i < n; i++) {
- char buffer[1001];
- fgets(buffer, 1001, stdin);
- int len = strlen(buffer);
- v[i] = new char[len];
- for(int j = 0; j < len; j++) {
- v[i][j] = buffer[j];
- }
- }
- char aim[1001];
- scanf("%s", &aim);
- //delete part
- int sc_size = 0;
- for(int i = 0; i < n; i++) {
- if(strstr(v[i], aim) != nullptr) {
- sc_size++;
- }
- }
- char **second = new char*[sc_size];
- int pos = 0;
- for(int i = 0; i < n; i++) {
- if(strstr(v[i], aim) != nullptr) {
- int len = strlen(v[i]);
- for(int j = 0; j < len; j++) {
- second[pos][j] = v[i][j];
- }
- v[i] = "-1";
- pos++;
- }
- }
- sort(v, v + n, cmp1);
- sort(second, second + sc_size, cmp2);
- //вывод
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement