Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cstring>
- using namespace std;
- ifstream cin("interesant.in");
- ofstream cout("interesant.out");
- char s[5005] , rez[5005];
- char m[201][5005];
- char b[501][5005];
- int subsir(char a[] , char b[])
- {
- int n = strlen(a);
- int m = strlen(b);
- if(n > m) return 0;
- int j = 0;
- for(int i = 0 ; i < m ; i++)
- {
- if(a[j] == b[i]) j++;
- if(n - i > m - j) return 0;
- }
- if(j == n) return 1;
- else return 0;
- }
- int main()
- {
- int cer , n , k = 0 , maxi = 0;
- cin >> cer >> n;
- if(cer == 1)
- {
- for(int i = 1 ; i <= n ; i++)
- {
- cin >> s;
- if(strlen(s) > maxi)
- {
- maxi = strlen(s);
- strcpy(rez , s);
- }
- if(strlen(s) == maxi && strcmp(s , rez) < 0)
- strcpy(rez , s);
- }
- cout << rez;
- }
- else
- {
- for(int i = 1 ; i <= n ; i++)
- cin >> m[i];
- for(int i = 1 ; i <= n ; i++)
- {
- int ok = 1;
- for(int j = 1 ; j <= n ; j++)
- {
- if(i != j && subsir(m[i] , m[j])) ok = 0;
- }
- if(ok)
- {
- strcpy(b[++k] , m[i]);
- }
- }
- cout << k << '\n';
- for(int i = 1 ; i <= k ; i++)
- cout << b[i] << '\n';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement