Esta questão é enviá-lo para compartilhar o título.
título
comentário
Pensando perguntas, gostaria de ver é extremamente simples.
Primeiro, considere as circunstâncias em que a estrada vai ser selados:
Há três casos.
Então, obviamente, nós não precisamos de cada vez de 1 a n existe nenhuma maneira de encontrá-lo novamente, a cada mudança de status em uma manta verificar o status de uma outra coluna de três grade pode ser. E depois armazenado em suficiente uma variável ans sobre o número total de grade estrada bloqueada. ANS é zero SIM, caso contrário nenhuma.
código
1 #include <bits / STDC ++ h.> 2 usando namespace std; 3 const int maxn = 100000 + 5 ; 4 boleano um [maxn], b [maxn]; 5 int N, Q; 6 int main () { 7 ios :: sync_with_stdio ( falso ); 8 cin >> >> n q; 9 int ans = 0 ; 10 para ( int i = 1 ; i <= q; i ++ ) { 11 int x, y; 12 cin >> >> x y; 13 , se (x == 1 ) { 14 , se (a [y]) { 15 um [y] = 0 ; 16 se (b [y]) ans-- ; 17 se (b [y + 1 ]) ans-- ; 18 se (b [y- 1 ]) ans-- ; 19 } 20 else { 21 um [y] = 1 ; 22 se (b [y]) ans ++ ; 23 se (b [y + 1 ]) ans ++ ; 24 se (b [y- 1 ]) ans ++ ; 25 } 26 } 27 else { 28 se (b [y]) { 29 b [Y] = 0 ; 30 , se (a [y]) ans-- ; 31 , se (a [y + 1 ]) ans-- ; 32 , se (a [y- 1 ]) ans-- ; 33 } 34 else { 35 b [Y] = 1 ; 36 , se (a [y]) ans ++ ; 37 , se (a [y + 1 ]) ans ++ ; 38 , se (a [y- 1 ]) ans ++ ; 39 } 40 } 41 se (ANS) cout << " Sem " << endl; 42 else cout << " Sim " << endl; 43 } 44 retorno 0 ; 45 }
(Eu estava de volta jogar a tabela quando a entrada de sentimento)
Felizmente, mesmo sagrados, canções para o blog canto.