#include <stdio.h>
unsigned long long int s;
int main() {
char c;
unsigned long long int i = 0 //aktualna pozycj
,g = 0; //ostatnia koncowa pozycja trojki
int j = 0; //ilosc wystapien trudnego znaku + samogloski - spolgloski
while((c = getchar())!=EOF) {
if(c==10) continue;
i++;
switch(c) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'y':
if(j<0) j=0;
j++;
break;
default:
if(j>0) j=0;
j--;
}
if(j==3 || j==-3) {
s += (i-2);
if(j==3) j--;
else j++;
if(g>0)
s += (i-g-1)*(g-2);
g = i;
}
}
if(g && g!=i) {
s += (g-2)*(i-g);
}
printf("%llu\n", s);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include <stdio.h> unsigned long long int s; int main() { char c; unsigned long long int i = 0 //aktualna pozycj ,g = 0; //ostatnia koncowa pozycja trojki int j = 0; //ilosc wystapien trudnego znaku + samogloski - spolgloski while((c = getchar())!=EOF) { if(c==10) continue; i++; switch(c) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'y': if(j<0) j=0; j++; break; default: if(j>0) j=0; j--; } if(j==3 || j==-3) { s += (i-2); if(j==3) j--; else j++; if(g>0) s += (i-g-1)*(g-2); g = i; } } if(g && g!=i) { s += (g-2)*(i-g); } printf("%llu\n", s); return 0; } |
English