Pagini recente » Cod sursa (job #878455) | Cod sursa (job #3133326) | Cod sursa (job #56782) | Cod sursa (job #3171933) | Cod sursa (job #2043000)
#include <bits/stdc++.h>
using namespace std;
ifstream f("interesant.in");
ofstream g("interesant.out");
int n, v;
char sir[201][5000];
void read()
{
f>>v>>n;
for (int i=1; i<=n; i++)
{
f.get();
f.get(sir[i], 5000);
}
f.close();
}
void v1()
{
bool ok;
int nr=0, nrs=0, maxi=0;
char maxisir[5000];
for (int i=1; i<=n; i++)
{
ok=true;
for (int j=1; j<=n; j++)
if (i!=j && strlen(sir[i])<=strlen(sir[j]))
{
nr=strlen(sir[i]);
for (int k=0; k<strlen(sir[j]); k++)
if (strchr(sir[j], sir[k][i]))
nrs++;
if (nr<=nrs)
ok=false;
}
if (ok==true)
if (nr>maxi)
{
strcpy(maxisir, sir[i]);
maxi=nr;
}
nrs=0;
}
g<<maxisir<<'\n';
g.close();
}
void v2()
{
bool ok;
int nr=0, nrs=0, maxi=0;
char maxisir[5000];
for (int i=1; i<=n; i++)
{
ok=true;
for (int j=1; j<=n; j++)
if (i!=j && strlen(sir[i])<=strlen(sir[j]))
{
nr=strlen(sir[i]);
for (int k=0; k<strlen(sir[j]); k++)
if (strchr(sir[j], sir[k][i]))
nrs++;
if (nr<=nrs)
ok=false;
}
if (ok==true)
g<<sir[i]<<'\n';
}
g.close();
}
int main()
{
read();
if (v==2)
v2();
else
v1();
return 0;
}