Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. FILE* fp;
  6. fp = fopen("testdata.in", "r");
  7.  
  8. int testcase;
  9. int size, sec;
  10. int startX, startY; //untuk tau posisi api
  11.  
  12.  
  13. fscanf(fp, "%d\n", &testcase);
  14.  
  15. for(int tc = 1; tc<=testcase; tc++)
  16. {
  17. fscanf(fp, "%d %d\n", &size, &sec);
  18. char map[size+1][size+1]; //bikin kotak x*x
  19.  
  20.  
  21.  
  22. for(int y = 0; y<size; y++)
  23. {
  24. for(int x = 0; x<size; x++)
  25. {
  26. fscanf(fp, "%c", &map[y][x]);// [y][x] karena kerja array vert baru hor
  27. if(map[y][x] == 'F')
  28. {
  29. startX = x;
  30. startY = y;
  31. }
  32. }
  33. fscanf(fp, "\n");
  34. }
  35.  
  36.  
  37.  
  38.  
  39. for(int i = 0; i<sec; i++)// proses cek
  40. {
  41. if(startX-i >= 0) // ke kiri
  42. {
  43. for(int j = 0; j<sec; j++)
  44. {
  45. if(startY-j >= 0)
  46. {
  47. map[startY-j][startX-i] = 'F';
  48. }
  49. if(startY+j<size)
  50. {
  51. map[startY+j][startX-i] = 'F';
  52. }
  53. }
  54. }
  55. if(startX+i < size) // ke kanan
  56. {
  57. for(int k = 0; k<sec; k++)
  58. {
  59. if(startY-k >= 0)
  60. {
  61. map[startY-k][startX+1] = 'F';
  62. }
  63. if(startY+k<size)
  64. {
  65. map[startY+k][startX+i] = 'F';
  66. }
  67. }
  68. }
  69. }
  70.  
  71. printf("Case #%d: \n", tc);
  72. for(int n = 0; n<size; n++)
  73. {
  74. for(int m = 0; m<size; m++)
  75. {
  76. printf("%c", map[n][m]);
  77. }
  78. printf("\n");
  79. }
  80. printf("\n");
  81.  
  82.  
  83. }
  84.  
  85. return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement