Untitled
unknown
plain_text
3 years ago
1.7 kB
16
Indexable
#include <bits/stdc++.h>
using namespace std;
int n, v, c, t, cnt, ans, maxnr, f[55], cnt1;
string s1, vrajMax;
bool ok=false;
int put(int a, int b){
int p=1;
for(int i=1; i<=b; i++){
p*=a;
}
return p;
}
int vocala(char s){
if(s=='a' || s=='e' || s=='i' || s=='o' || s=='u' || s=='q' || s=='w' || s=='y') return true;
return false;
}
int solve(string s){
int nrv=0, nrc=0, putere=0, nrdif=0, i=0;
while(s[i]!='\0'){
if(vocala(s[i])==true) nrv++;
if(vocala(s[i])==false) nrc++;
f[s[i]-'a']++;
i++;
}
for(int i=0; i<=25; i++){
if(f[i]) nrdif++;
}
putere=(nrv*v+nrc*c)/nrdif+1;
i=0;
int cnt=0;
while(s[i]!='\0'){
if(s[i]==s[i+1]){
cnt=1;
int ci=i;
while(s[i]==s[ci]){
ci++, cnt++;
}
if(cnt>1 && vocala(s[i])) putere+=put(v, cnt-1);
else if(cnt>1 && vocala(s[i])==false) putere+=put(c, cnt-1);
i=ci-1;
}
i++;
}
return putere;
}
int main()
{
ifstream fin("vraji.in");
ofstream fout("vraji.out");
fin>>t;
fin>>n>>v>>c;
for(int i=1; i<=n; i++){
fin>>s1;
int j=0;
ok=false;
while(s1[j]!='\0'){
if(s1[j]==s1[j-1]) ok=true;
j++;
}
if(ok==true) cnt1++;
if(solve(s1)>maxnr){
maxnr=solve(s1);
ans=1;
vrajMax=s1;
}
else if(solve(s1)==maxnr){
ans++;
}
}
if(t==1) fout<<cnt1;
else fout<<ans<<" "<<vrajMax;
}Editor is loading...