Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int long long
- #define pb push_back
- using namespace std;
- void del(string aim, vector<string> &v, vector<string> &res) {
- for(int i = 0; i < v.size(); i++){
- if(v[i].find(aim) != string::npos) {
- res.pb(v[i]);
- v.erase(v.begin() + i);
- i--;
- }
- }
- }
- 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;
- cin >> n;
- vector<string> v(n);
- vector<string> res;
- getchar();
- for(int i = 0; i < n; i++) {
- getline(cin, v[i]);
- }
- string aim;
- cin >> aim;
- del(aim, v, res);
- cout << "Sort by(enter number):\n1)Alphabet\n2)Phrase length\n";
- int id;
- cin >> id;
- if(id) {
- sort(v.begin(), v.end(), cmp1);
- sort(res.begin(), res.end(), cmp1);
- } else {
- sort(v.begin(), v.end(), cmp2);
- sort(res.begin(), res.end(), cmp2);
- }
- for(auto it: v) {
- cout << it << endl;
- }
- cout << " -------- ";
- for(auto it: res) {
- cout << it << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement