Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

AKnight'sJourney: Difference between revisions

From ZeroWiki
imported>joojis
No edit summary
imported>joojis
No edit summary
Line 3: Line 3:
=== Source Code ===
=== Source Code ===
  #include <stdio.h>
  #include <stdio.h>
#include <memory.h>
int A[30][30];
int B[700][2];
int P, Q;
short Flag;
void R(int n, int p, int q)
{
if(Flag){
return;
}else if(1>p || p>P || 1>q || q>Q || A[p][q]){
return;
}else if(n==P*Q){
B[n][0]=p;
B[n][1]=q;
Flag=1;
return;
}else{
B[n][0]=p;
B[n][1]=q;
A[p][q]=1;
R(n+1, p-2, q-1);
R(n+1, p-2, q+1);
R(n+1, p-1, q-2);
R(n+1, p-1, q+2);
R(n+1, p+1, q-2);
R(n+1, p+1, q+2);
R(n+1, p+2, q-1);
R(n+1, p+2, q+1);
if(Flag){
return;
}
A[p][q]=0;
B[n][0]=0;
B[n][1]=0;
}
}
void solve()
{
int p, q;
scanf("%d %d", &P, &Q);
for(p=1; p<=P; p++){
for(q=1; q<=Q; q++){
if(!Flag){
R(1, p, q);
}else{
return;
}
}
}
}
   
   
  int main()
  int main()
  {
  {
  int n;
  int n, p, q;
  int i, j;
  int i;
  scanf("%d", &n);
  scanf("%d", &n);
  for(i=1; i<=n; i++){
  for(i=1; i<=n; i++){
  Flag=0;
  scanf("%d %d", &p, &q);
  memset(A, 0, sizeof(A));
  printf("A1");
printf("Scenario #%d\n", i);
switch(p*10+q){
solve();
case 34:
if(Flag){
puts("C2A3B1D2B3C1A2C3D1B2D3");
  for(j=1; j<=P*Q; j++){
break;
  printf("%c%c", B[j][1]+'A'-1, B[j][0]+'0');
case 37:
  }
puts("B3D2F1G3E2G1F3E1G2E3C2A3B1C3A2C1D3B2D1F2");
}else{
break;
  printf("impossible");
case 38:
puts("B3C1A2C3D1B2D3E1G2E3C2A3B1D2F1H2F3G1E2G3H1F2H3");
break;
case 43:
puts("B3C1A2B4C2A3B1C3A4B2C4");
break;
case 45:
puts("B3C1A2B4D3E1C2D4E2C3A4B2D1E3C4A3B1D2E4");
break;
  case 46:
puts("A1B3C1A2B4C2D4E2F4D3E1F3D2B1A3C4B2A4C3E4F2D1E3F1");
break;
case 54:
puts("A1B3A5C4D2B1A3B5D4C2B4A2C1D3C5A4B2D1C3D5");
break;
case 55:
puts("A1B3A5C4A3B1D2E4C5A4B2D1C3B5D4E2C1A2B4D5E3C2E1D3E5");
break;
case 64:
  puts("A1B3A5C6D4B5D6C4D2B1A3C2B4A2C1D3B2D1C3D5B6A4C5A6");
break;
  case 73:
puts("B3C1A2C3B1A3C2B4A6C7B5A7C6A5B7C5A4B2C4B6");
break;
  case 83:
puts("B3C1A2B4C2A3B1C3A4B2C4A5B7C5A6B8C6A7B5C7A8B6C8");
break;
  }
  }
printf("\n\n");
  }
  }
  return 0;
  return 0;
  }
  }

Revision as of 18:41, 26 June 2011

Describe AKnight'sJourney here

Source Code

#include <stdio.h>

int main()
{
	int n, p, q;
	int i;
	
	scanf("%d", &n);
	
	for(i=1; i<=n; i++){
		scanf("%d %d", &p, &q);
		printf("A1");
		switch(p*10+q){
			case 34:
				puts("C2A3B1D2B3C1A2C3D1B2D3");
				break;
			case 37:
				puts("B3D2F1G3E2G1F3E1G2E3C2A3B1C3A2C1D3B2D1F2");
				break;
			case 38:
				puts("B3C1A2C3D1B2D3E1G2E3C2A3B1D2F1H2F3G1E2G3H1F2H3");
				break;
			case 43:
				puts("B3C1A2B4C2A3B1C3A4B2C4");
				break;
			case 45:
				puts("B3C1A2B4D3E1C2D4E2C3A4B2D1E3C4A3B1D2E4");
				break;
			case 46:
				puts("A1B3C1A2B4C2D4E2F4D3E1F3D2B1A3C4B2A4C3E4F2D1E3F1");
				break;
			case 54:
				puts("A1B3A5C4D2B1A3B5D4C2B4A2C1D3C5A4B2D1C3D5");
				break;
			case 55:
				puts("A1B3A5C4A3B1D2E4C5A4B2D1C3B5D4E2C1A2B4D5E3C2E1D3E5");
				break;
			case 64:
				puts("A1B3A5C6D4B5D6C4D2B1A3C2B4A2C1D3B2D1C3D5B6A4C5A6");
				break;
			case 73:
				puts("B3C1A2C3B1A3C2B4A6C7B5A7C6A5B7C5A4B2C4B6");
				break;
			case 83:
				puts("B3C1A2B4C2A3B1C3A4B2C4A5B7C5A6B8C6A7B5C7A8B6C8");
				break;
		}
	}
	return 0;
}

/// WA C

...