#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; } |