Hide

Problem K
Avdragsschack

Languages en sv

Jonathan skriver en schackmotor och stöter på problem med avdragsschack. Kan du hjälpa honom att avgöra om ett visst drag från vit leder till avdragsschack? Ett drag orsakar avdragsschack om den flyttade pjäsen förut var mellan motståndarens kung och en annan pjäs, och förflyttandet gör att den andra pjäsen placerar motståndaren i schack.

/problems/discoveries/file/statement/sv/img-0001.png
Schackbräde med markerade rutor cc by-sa

Indata

Indata består av ett schackbräde representerat av $8$ rader med $8$ tecken vardera. Varje karaktär beskriver pjäsen som står den rutan. Om det är en stor bokstäv tillhör pjäsen vit, annars tillhör den svart. Varje pjäs representeras av en bokstav, se tabellen nedan för en beskrivning av vilken bokstav som beskriver vilken pjäs.

Detta följs av en rad med fyra karaktärer som förklarar vits drag. De första två karaktärerna beskriver positionen av pjäsen som flyttas, de andra två visar var den hamnar. Se bilden till höger för koordinatsystemet som används. Till exempel: a1 är nedre vänstra hörnet och a8 är över vänstra hörnet.

Det garanteras att draget är ett lagligt schackdrag (som inte är en fångst eller en passant1) och att det kommer vara är vits tur att flytta. Schackbrädet är i ett tillstånd som kan förekomma i ett schackparti.

Pjäs

Representation

Ingen

_

Bonde

p

Springare

n

Löpare

b

Torn

r

Drottning

q

Kung

k

Utdata

Skriv ut 1 om draget orsakar avdragsschack, annars 0.

Poängsättning

Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.

Grupp

Poäng

Gränser

$1$

$40$

Vit har inga löpare eller drottningar.

$2$

$40$

Vit har inga torn eller drottningar.

$3$

$20$

Inga ytterligare begränsningar.

Sample Input 1 Sample Output 1
rnbqkbnr
pppppppp
________
________
________
________
PPPPPPPP
RNBQKBNR
e2e4
0
Sample Input 2 Sample Output 2
_______K
________
________
k____N_R
________
________
________
________
f5g3
1

Footnotes

  1. Exakt hur en passant fungerar är inte relevant för problemet, eftersom det inte kommer finnas några sådana drag i indatan.

Please log in to submit a solution to this problem

Log in