Page 1 of 2
255 - Correct Move
Posted: Sat Jul 13, 2002 6:09 am
by htl
Why does the code get WA? Just position checking...
[c]
#include<stdio.h>
void main(void)
{
int k,q,m,kx,ky,mx,my,qx,qy;
while(scanf("%d %d %d",&k,&q,&m)!=EOF)
{
if(k==q)
{
printf("Illegal state\n");
continue;
}
if(q%8!=m%8 && q/8!=m/8 || m==k || m==q)
{
printf("Illegal move\n");
continue;
}
kx=k/8,ky=k%8,mx=m/8,my=m%8,qx=q/8,qy=q%8;
if(kx==qx && qx==mx)
if(my>ky && my<8 && qy>ky && qy<8 || my<ky && my>0 && qy<ky && qy>0)
;
else
{
printf("Illegal move\n");
continue;
}
if(ky==qy && qy==my)
if(mx>kx && mx<8 && qx>kx && qx<8 || mx<kx && mx>0 && qx<kx && qx>0)
;
else
{
printf("Illegal move\n");
continue;
}
if(mx==kx && (ky>0 && my==ky-1 || ky<7 && my==ky+1))
{
printf("Move not allowed\n");
continue;
}
if(my==ky && (kx>0 && mx==kx-1 || kx<7 && mx==kx+1))
{
printf("Move not allowed\n");
continue;
}
if(m==49 && k==56 || m==9 && k==0 || m==14 && k==7 || m==54 && k==63)
printf("Stop\n");
else
printf("Continue\n");
}
}
[/c]
Need input for 255 - Correct Move
Posted: Sun Oct 12, 2003 12:18 am
by Calvin
Hi everybody!
i got every time wrong answer for the 255 ! Could anyone give me some big input in order to try to discover a bug in my source code ??
Thanks a lot,
Calvin
Posted: Tue Oct 14, 2003 11:35 am
by bery olivier
Hi calvin, my little padawan !
Here is my input/output
19 32 49
0 35 41
20 38 36
20 59 3
61 56 40
33 21 9
24 7 3
34 23 13
3 55 52
43 17 5
13 4 26
48 45 46
24 19 46
20 22 4
13 62 25
35 9 24
43 13 57
3 26 19
58 16 53
13 22 57
18 48 38
1 32 51
20 15 36
42 20 61
42 46 18
51 7 32
2 2 5
29 21 48
45 12 51
4 6 47
53 44 61
22 32 17
38 6 18
59 5 39
42 24 19
49 56 61
52 62 50
11 48 52
23 37 19
30 21 1
11 20 6
44 38 59
51 56 19
56 32 58
17 52 54
11 50 34
11 38 21
59 27 10
33 46 21
55 48 44
13 54 12
51 51 23
45 8 5
14 3 57
4 57 51
54 28 6
29 50 17
57 60 29
41 18 25
26 0 59
18 12 51
7 36 1
15 42 52
18 36 34
13 25 49
42 31 53
29 49 45
26 15 12
45 40 6
46 36 48
58 25 11
32 27 30
11 17 37
48 51 52
10 38 7
41 29 20
27 12 0
43 24 29
20 31 56
57 16 38
20 28 21
47 58 17
1 32 49
53 21 61
29 29 47
59 50 57
8 50 36
33 17 1
1 10 44
18 49 2
46 7 60
42 25 17
11 12 1
33 10 3
0 58 56
50 52 22
38 26 18
55 28 27
3 9 60
52 12 62
60 9 17
22 27 1
35 28 43
46 31 55
41 25 25
30 47 26
57 3 13
22 30 52
32 27 45
45 26 48
54 44 38
18 45 36
47 26 58
16 18 31
41 44 14
26 7 55
30 21 23
60 11 17
25 56 40
52 42 10
33 18 55
16 54 47
42 50 3
61 18 51
42 32 4
50 24 46
9 48 10
20 2 40
14 43 38
56 54 0
12 47 52
3 32 23
53 35 39
9 24 19
41 29 17
3 12 60
51 23 48
54 0 57
35 38 14
26 39 28
10 28 22
42 51 34
15 28 38
39 47 29
5 2 38
18 62 16
42 47 20
42 41 8
18 56 0
57 22 35
23 45 61
11 17 9
40 55 52
24 21 5
26 59 45
26 13 51
11 33 6
53 42 48
46 42 28
6 15 47
51 14 42
6 24 2
62 13 14
20 19 54
17 1 16
31 52 42
2 59 6
44 45 17
24 11 7
40 58 54
54 37 61
15 40 49
29 54 56
49 46 55
50 62 13
40 42 30
36 49 62
18 3 1
29 11 46
25 3 8
0 1 48
40 51 40
32 44 56
15 36 23
15 49 9
58 17 59
44 16 36
47 18 10
59 1 28
62 9 58
0 58 21
51 35 21
33 28 62
6 52 31
56 61 47
11 57 0
28 31 58
46 41 39
48 7 24
58 3 21
53 24 20
26 45 21
55 44 9
44 13 43
42 61 49
37 61 43
5 56 55
47 33 20
55 58 4
58 16 52
19 36 48
2 58 39
47 4 2
61 48 57
59 34 39
57 15 19
51 7 56
22 28 62
17 32 46
33 22 39
7 8 34
2 47 54
7 49 56
55 44 41
27 20 39
43 39 36
50 33 30
16 32 19
49 16 41
9 55 58
17 27 29
1 18 36
51 12 38
32 53 46
53 30 38
30 3 3
0 34 46
33 53 33
50 32 50
43 28 36
7 57 45
26 30 62
38 6 1
29 53 52
59 28 22
0 31 12
34 14 43
25 48 44
58 35 15
23 9 2
17 55 46
48 55 53
54 56 16
45 46 55
10 5 21
42 18 18
57 61 18
42 43 53
15 58 16
25 61 11
17 44 34
9 34 52
2 51 37
49 44 29
54 2 11
9 20 21
8 39 1
51 30 58
47 47 38
45 58 54
26 30 16
61 19 33
50 56 43
31 23 46
33 34 32
54 56 24
31 57 33
62 53 42
46 28 31
42 20 15
9 36 61
29 7 24
22 51 23
45 34 10
17 4 42
10 28 13
5 62 5
58 41 36
24 10 36
44 25 19
18 24 61
26 49 8
14 9 37
49 20 60
53 62 43
18 13 60
17 18 7
59 55 12
6 28 8
32 48 32
56 46 14
42 55 32
52 29 58
9 26 10
9 7 59
22 4 49
41 12 5
33 25 23
61 33 19
46 3 26
30 17 59
22 49 53
52 45 33
16 55 22
23 52 32
27 38 42
39 44 2
1 4 43
35 24 13
38 51 12
55 47 59
42 38 26
25 8 49
17 31 38
6 0 54
45 43 15
26 45 42
31 25 19
55 39 21
44 51 56
28 47 32
3 11 25
12 60 5
43 36 30
44 28 48
24 43 55
6 23 37
32 42 1
8 1 33
60 58 26
44 27 7
56 53 36
54 58 40
27 25 52
56 10 32
37 2 13
60 40 38
40 42 44
41 12 14
37 38 22
1 45 20
54 19 1
50 59 58
12 48 49
23 17 13
26 31 7
3 6 44
45 51 42
58 2 20
33 25 61
16 45 36
35 47 37
31 42 29
17 28 16
35 42 29
3 49 53
10 31 16
61 10 20
1 30 3
26 29 61
9 2 32
56 40 48
35 7 21
1 24 53
43 54 8
30 44 43
61 60 47
9 17 57
40 20 56
6 19 57
9 51 21
50 37 30
57 59 24
19 49 60
10 57 61
54 38 41
52 22 8
6 16 7
27 10 16
47 4 56
35 26 0
10 57 10
6 18 60
55 15 55
50 13 11
25 55 21
48 1 13
1 9 2
12 25 8
16 19 36
43 20 20
37 30 56
56 27 3
8 19 9
22 31 2
15 52 53
16 2 15
25 4 1
51 13 2
8 50 14
28 8 31
58 1 12
23 5 49
43 14 43
11 16 51
1 7 11
4 22 26
9 24 43
22 26 6
10 41 58
18 10 3
20 23 32
25 10 27
39 53 51
56 42 31
0 53 42
23 17 43
47 61 47
11 4 57
53 0 17
1 3 27
24 36 46
34 1 3
25 52 29
4 20 5
57 0 62
12 43 0
10 28 24
14 23 9
14 40 20
18 4 11
55 50 13
56 54 37
45 20 9
2 26 34
2 26 39
46 27 34
12 51 46
35 60 56
12 18 8
17 29 23
5 42 42
60 17 34
18 27 27
44 62 10
8 38 13
35 9 16
23 56 0
21 50 12
39 58 48
5 19 61
48 62 16
3 33 21
30 61 19
30 8 37
6 21 19
16 37 27
9 37 62
59 50 23
55 36 44
12 34 20
11 51 26
44 9 12
43 28 15
51 3 46
10 22 13
48 49 19
23 49 36
10 10 45
47 54 42
19 12 34
7 39 47
17 51 58
46 3 39
49 50 19
8 0 8
58 20 19
44 56 4
55 39 27
47 18 38
59 53 23
36 37 42
24 32 49
28 9 4
15 29 50
16 38 37
37 57 45
31 61 41
7 26 23
26 1 15
Illegal move
Illegal move
Continue
Continue
Continue
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal state
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal state
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal state
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Continue
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Continue
Illegal move
Continue
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Continue
Continue
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Continue
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal state
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Move not allowed
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Continue
Continue
Illegal move
Illegal move
Move not allowed
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Move not allowed
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal state
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Illegal move
Continue
Illegal move
Illegal move
Illegal move
Illegal move
Posted: Wed Dec 17, 2003 3:13 pm
by MD.Morsalin-Al-Saadi
Hi bery olivier,
I have checked all your inputs but i am still getting WA. What can be the reason. Please help!
Got it AC
Posted: Sat Jul 17, 2004 4:55 pm
by rajsekar_manokaran
I also checked all the inputs that eh had given. My program also was giving proper answer but gave WA when submitted.
Then i found that the mistake was:
when seeing the kings's move, i incremented king's pos without seeing if it wraps to the next row.
May be that is the mistake in yours.
Check it up
255 - WA
Posted: Mon May 23, 2005 2:12 am
by vivander
This is my code for this problem. Why I have WA?
Code: Select all
#include <stdio.h>
#include <stdlib.h>
int main (int car, char** v) {
int i,j,num1,num2, posicion, N1_X, N1_Y, N2_X, N2_Y, POS_X, POS_Y;
char linea[100];
while(fgets(linea,100,stdin)!=NULL){
sscanf(linea,"%d %d %d",&num1,&num2,&posicion);
N1_X= num1%8;
N2_X= num2%8;
POS_X= posicion%8;
N1_Y= num1/8;
N2_Y= num2/8;
POS_Y= posicion/8;
if (num1==num2) printf("Illegal state\n");
else if ((num1==posicion)||(num2==posicion)) printf("Illegal move\n");
else if ((N2_X!=POS_X)&&(N2_Y!=POS_Y)) printf("Illegal move\n");
else if ((N2_X==POS_X)&&(abs(N1_X-POS_X)>1)) printf("Continue\n");
else if ((N2_Y==POS_Y)&&(abs(N1_Y-POS_Y)>1)) printf("Continue\n");
else if ((N2_X==POS_X)&&(abs(N1_X-POS_X)==1)&&(POS_Y!=N1_Y)) printf("Continue\n");
else if ((N2_X==POS_X)&&(abs(N1_X-POS_X)==1)&&(POS_Y==N1_Y)) printf("Move not allowed\n");
else if ((N2_Y==POS_Y)&&(abs(N1_Y-POS_Y)==1)&&(POS_X!=N1_X)) printf("Continue\n");
else if ((N2_Y==POS_Y)&&(abs(N1_Y-POS_Y)==1)&&(POS_X==N1_X)) printf("Move not allowed\n");
else if (((N2_X==POS_X)||(N2_Y==POS_Y))&&((N2_X!=N1_X)&&(N2_Y!=N1_Y)&&(POS_X!=N1_X)&&(POS_Y!=N1_Y))) printf("Continue\n");
else if ((N1_X==POS_X)&&(N2_X==POS_X)&&(((N1_Y-1>POS_Y)&&(POS_Y>N2_Y))||((N1_Y+1<POS_Y)&&(POS_Y<N2_Y))||
((N1_Y<N2_Y)&&(N2_Y<POS_Y))||((N1_Y>N2_Y)&&(N2_Y>POS_Y)))) printf("Continue\n");
else if ((N1_X==POS_X)&&(N2_X==POS_X)&&(((N1_Y>POS_Y)&&(POS_Y>N2_Y)&&(N1_Y-1==POS_Y))||((N1_Y<POS_Y)&&(POS_Y<N2_Y)&&(N1_Y+1==POS_Y)))) printf("Move not allowed\n");
else if ((N1_Y==POS_Y)&&(N2_Y==POS_Y)&&(((N1_X-1>POS_X)&&(POS_X>N2_X))||((N1_X+1<POS_X)&&(POS_X<N2_X))||
((N1_X<N2_X)&&(N2_X<POS_X))||((N1_X>N2_X)&&(N2_X>POS_X)))) printf("Continue\n");
else if ((N1_Y==POS_Y)&&(N2_Y==POS_Y)&&(((N1_X>POS_X)&&(POS_X>N2_X)&&(N1_X-1==POS_X))||((N1_X<POS_X)&&(POS_X<N2_X)&&(N1_X+1==POS_X)))) printf("Move not allowed\n");
else if ((((num1==0)&&(posicion==9))||((num1==7)&&(posicion==14))||((num1==56)&&(posicion==49))||
((num1==63)&&(posicion==54)))&&((N2_X==POS_X)||(N2_Y==POS_Y))) printf("Stop\n");
else printf("Illegal move\n");
}
return 1;
}
Posted: Sun Aug 14, 2005 10:33 am
by shu
Your code failed when there's any input like : 0 1 9
It should output 'Stop' instead of 'Continue'.
Tips :
Do checking step by step, ie. first check for 'Illegal state', then 'Illegal move', 'Move not allowed', 'Stop', and finally 'Continue' if the input pass all the checking. This way your code will get clearer and easier to avoid/locate the bug

Posted: Wed Apr 19, 2006 11:23 pm
by Jemerson
I'm also facing the same problem of you guys, but couldn't understand how you solved your mistake. Could you please explain it better?
Posted: Wed Apr 19, 2006 11:46 pm
by Jemerson
Solved my problem, in fact the problem is in determining if the king is stucked or not and the above test cases don't test it correctly.
Don't know where in my algorithm things were wrong, but I solved it in such an easy way. All you must do is notice that the king can only get stucked up if its in the corner and the queen is diagonally in front of it.
Good Luck
255 - Need input ..
Posted: Mon Feb 18, 2013 9:53 pm
by barrima
In this Problem
255 - Correct move
Can any one provide any input file or any corner test cases?
I checked all the test cases on this topic
http://online-judge.uva.es/board/viewto ... f=2&t=4157
but I did passed them
here's my code, if someone's interested :
Re: 255 - Need input ..
Posted: Tue Feb 19, 2013 10:56 pm
by brianfry713
Re: 255 - Need input ..
Posted: Wed Feb 20, 2013 9:30 pm
by barrima
That was really useful
Tyvm ^^
Re: Need input for 255 - Correct Move
Posted: Mon May 19, 2014 7:10 pm
by inoryy
255 - Correct Move
Posted: Wed Aug 06, 2014 9:17 pm
by axelblaze
I have checked all the input bery given... my code gives the correct answar but still I'm getting WA..
here's my code:
by the way, thanks to bery for his inputs...

Re: Need input for 255 - Correct Move
Posted: Thu Aug 07, 2014 10:16 am
by lighted
Try this
Output
Code: Select all
Illegal move
Illegal move
Illegal move
Don't forget to remove your code after getting accepted.
