#include #include #include int next (bool * s, int l) { bool hit0 = false; bool hit1after0 = false; int end1count = 0; int end1 = l-1; for (int i = l-1; i >= 0; i--) { if (!s[end1]) end1--; if (!hit0 && s[i] == 1) end1count++; if (!s[i]) hit0 = true; if (hit0 && s[i]) hit1after0 = true; } if (end1 == -1) { // prazen vhod, sedaj 1 bit for (int i = 0; i < l; i++) s[i] = false; s[0] = true; return 1; } if (!hit0) return len+1; // konec if (!hif1after0) { // inc št enic for (int i = 0; i < l; i++) { s[i] = false; if (i < end1count) s[i] = true; } return end1count; } } int main (void) { int s, g, m; scanf("%d", &s); char * i[s]; char * r[s]; for (int i = 0; i < s; i++) scanf("%ms %ms", &i[s], &r[s]); scanf("%d", &g); char * gl[g]; for (int i = 0; i < s; i++) scanf("%ms", &gl[s]); bool samost[s]; }