Source Code ¶
#include <stdio.h>
char* GetPath(int k)
{
switch(k){
case 101: return "A1";
case 304: return "A1C2A3B1D2B3C1A2C3D1B2D3";
case 307: return "A1B3D2F1G3E2G1F3E1G2E3C2A3B1C3A2C1D3B2D1F2";
case 308: return "A1B3C1A2C3D1B2D3E1G2E3C2A3B1D2F1H2F3G1E2G3H1F2H3";
case 403: return "A1B3C1A2B4C2A3B1C3A4B2C4";
case 405: return "A1B3C1A2B4D3E1C2D4E2C3A4B2D1E3C4A3B1D2E4";
case 406: return "A1B3C1A2B4C2D4E2F4D3E1F3D2B1A3C4B2A4C3E4F2D1E3F1";
case 504: return "A1B3A5C4D2B1A3B5D4C2B4A2C1D3C5A4B2D1C3D5";
case 505: return "A1B3A5C4A3B1D2E4C5A4B2D1C3B5D4E2C1A2B4D5E3C2E1D3E5";
case 604: return "A1B3A5C6D4B5D6C4D2B1A3C2B4A2C1D3B2D1C3D5B6A4C5A6";
case 703: return "A1B3C1A2C3B1A3C2B4A6C7B5A7C6A5B7C5A4B2C4B6";
case 803: return "A1B3C1A2B4C2A3B1C3A4B2C4A5B7C5A6B8C6A7B5C7A8B6C8";
default: return "impossible";
}
}
int main()
{
int i, n, p, q;
scanf("%d", &n);
for(i=1;i<=n;i++){
scanf("%d %d", &p, &q);
printf("Scenario #%d:\n%s\n\n", i, GetPath(p*100+q));
}
return 0;
}
/// C
/// GCC, 340B










