19. A says "Atleast one of us is knave"
if A (knave) B(knave) ---> A said truth but not possible as A is knave
if A (knave) B(Knight) ---> A said truth but not possible as A is knave
if A (Knight) B(knave) ---> A said truth so A is Knight and B can be knave
if A (knight) B(knight) ---> A said truth since A is Knight but not possible as both are Knights
So A is Knight and B is Knave
20. A says Both of us are Knights
B says A is Knave
if A(Knave) B(Knave) ----- then Both are knaves Then B said truth but not possible as B is knave
if A(Knave) B(Knight) ----- A is knave and said false that both are knights B is knight said truth that A is Knave
if A(Knight) B(Knave) ----- As A is knight A said truth => B is knight and says A is Knave Not possible
if A(Knight) B(Knight) ---- same as above
So A is Knave and B is Knight
21. A says I'm Knave or B is knight (since their is or if one statement is true then A said truth)
A B
Knave Knave A is knave and it said truth not possible
Knave Knight same as above
Knight Knave If A is knight then I'm knave is false so B is to be Knight
Knight Knight same as above
So A is Knight and B is Knight
22. A says I'm knight
B says I'm knight
if A says true Then A is Knight
if A says false Then A is knave
if B says true Then B is Knight
if B says false Then B is knave
So A can Be either Knave or Knight and B can Be either Knave or Knight
23. A says we both are Knaves
A B
Knave Knave A is knave and it said truth not possible
Knave Knight A is Knave said false that both are Knaves if B is Knight
Knight Knave If A is knight then it said false that both are knave not possible
Knight Knight same as above
so A is Knave B is Knight
Please Let me know if I'm Wrong