/* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Fevrier 2005 */ import java.io.*; public class Robot2 { static BufferedReader flux = new BufferedReader(new InputStreamReader(System.in)); /* Lecture au clavier des largeurs du parcours */ /* coteCarre : entier */ /* largeurDamier : entier */ public static void parcourt(int coteCarre,int largeurDamier) throws IOException { int x,y; // Position instantanee du robot int i; // Indice de boucle for int xinc = 1; // Deplacement elementaire en x entre deux etapes int yinc = 0; // Deplacement elementaire en y entre deux etapes /* x et y sont respectivement initialises a 1 et 0 */ /* pour signifier un deplacement vers la droite */ /* en debut de parcours */ /* Lecture au clavier des positions initiales en x et y */ System.out.print("Position x initiale : "); x = Integer.valueOf(flux.readLine()).intValue(); System.out.print("Position y initiale : "); y = Integer.valueOf(flux.readLine()).intValue(); /* Si les donnees du probleme sont correctes */ if ( ( x >= 1 ) && ( x <= largeurDamier ) && ( y >= 1 ) && ( y <= largeurDamier ) && ( x+coteCarre <= largeurDamier ) && ( y-coteCarre >= 1 ) ) { /* Boucle de gestion des deplacements : */ /* 4*coteCarre deplacements elementaires */ for ( i = 1 ; i <= coteCarre*4 ; i++ ) { /* Deplacements en x et en y correspondant */ /* a un deplacement elementaire */ x = x+xinc; y = y+yinc; System.out.println(x+","+y); /* Si on arrive dans le coin superieur droit, */ /* le deplacement se fait maintenant vers le bas */ if ( i == coteCarre ) { xinc = 0; yinc = -1; } /* Si on arrive dans le coin inferieur droit, */ /* le deplacement se fait maintenant vers la gauche */ if ( i == coteCarre*2 ) { xinc = -1; yinc = 0; } /* Si on arrive dans le coin inferieur gauche, */ /* le deplacement se fait maintenant vers le haut */ if ( i == coteCarre*3 ) { xinc = 0; yinc = 1; } } } else { /* Affichage en cas de probleme avec les donnees */ System.out.println("Erreur dans les donnees du probleme"); } } /* Fonction principale */ public static void main(String [] args) throws IOException { /* Lecture au clavier des largeurs du parcours */ /* et du damier */ System.out.print("Cote du parcourt : "); int c = Integer.valueOf(flux.readLine()).intValue(); System.out.print("Largeur du damier : "); int l = Integer.valueOf(flux.readLine()).intValue(); /* Lancement du parcours */ parcourt(c,l); } }