Advertisement
Guest User

ex3

a guest
Mar 26th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. /*******
  7. * Read input from Console
  8. * Use: Console.WriteLine to output your result to STDOUT.
  9. * Use: Console.Error.WriteLine to output debugging information to STDERR;
  10. *
  11. * ***/
  12.  
  13. namespace CSharpContestProject
  14. {
  15. class Program
  16. {
  17. static void Main(string[] args)
  18. {
  19. int n = int.Parse(Console.ReadLine());
  20. string finalString = "";
  21. List<int[]> pieces = new List<int[]>();
  22. List<int[]> multiplicateurs = new List<int[]>();
  23. int[] player = new int[] {0, 0};
  24.  
  25. // boucle sur la colonne (toute la map)
  26. for(int i = 0; i < n; i++) {
  27. string line = Console.ReadLine();
  28. // boucle sur la ligne
  29. for(int j = 0; j < line.Length; j++) {
  30. if(line[j] == 'o') {
  31. pieces.Add(new int[] {i, j});
  32. }
  33. else if (line[j] == '*') {
  34. multiplicateurs.Add(new int[] {i, j});
  35. }
  36. }
  37. }
  38.  
  39. // Rammasse les pièces
  40. foreach(int[] p in pieces) {
  41. while(player[0] != p[0]) { // pas même hauteur
  42. if(player[0] < p[0]) { // player plus haut
  43. finalString += "v";
  44. player[0]++;
  45. }
  46. else { // player plus bas
  47. finalString += "^";
  48. player[0]--;
  49. }
  50. }
  51.  
  52. while(player[1] != p[1]) { // pas même colonne
  53. if(player[1] < p[1]) { // player plus à gauche
  54. finalString += ">";
  55. player[1]++;
  56. }
  57. else { // player plus à droite
  58. finalString += "<";
  59. player[1]--;
  60. }
  61. }
  62. finalString += "x"; // ramasse la pièce
  63. }
  64.  
  65. // Ramasse les mutiplicateurs
  66. // Rammasse les pièces
  67. foreach(int[] m in multiplicateurs) {
  68. while(player[0] != m[0]) { // pas même hauteur
  69. if(player[0] < m[0]) { // player plus haut
  70. finalString += "v";
  71. player[0]++;
  72. }
  73. else { // player plus bas
  74. finalString += "^";
  75. player[0]--;
  76. }
  77. }
  78.  
  79. while(player[1] != m[1]) { // pas même colonne
  80. if(player[1] < m[1]) { // player plus à gauche
  81. finalString += ">";
  82. player[1]++;
  83. }
  84. else { // player plus à droite
  85. finalString += "<";
  86. player[1]--;
  87. }
  88. }
  89. finalString += "x"; // ramasse le multiplicateur
  90. }
  91.  
  92. Console.WriteLine(finalString);
  93.  
  94. // Vous pouvez aussi effectuer votre traitement ici après avoir lu toutes les données
  95. }
  96.  
  97.  
  98.  
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement