Untitled
unknown
plain_text
2 years ago
1.7 kB
6
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...