- 最後登錄
- 2024-4-27
- 在線時間
- 28991 小時
- 註冊時間
- 2011-12-11
- 閱讀權限
- 95
- 精華
- 3
- UID
- 10643381
- 帖子
- 3222
- 積分
- 24364 點
- 潛水值
- 77160 米
| - #include <stdio.h>
- #include <stdlib.h>
- #define print printf
- #define k 7
- void light(int x, int y, int* arr);
- int main()
- {
- int arr[k][k] , count = 0 , x , y;
-
- for(y = 0 ; y < k ; y++)
- for(x = 0 ; x < k ; x++)
- scanf("%d" , &arr[x][y]);
-
- for(y = 0 ; y < k ; y++)
- for(x = 0 ; x < k ; x++)
- if( arr[x][y] == 2 )
- light(x , y , arr[0]);
-
- for(y = 0 ; y < k ; y++)
- {
- for(x = 0 ; x < k ; x++)
- {
- if( arr[x][y] == 0 ) print("%s" , "□");
- else if( arr[x][y] == 1 ) print("%s" , "■");
- else if( arr[x][y] == 2 ) print("%s" , "◎");
- else print("%s" , "‧");
- }
- putchar('\n');
- }
-
- for(y = 0 ; y < k ; y++)
- for(x = 0 ; x < k ; x++)
- if( arr[x][y] == 0 )
- count++;
-
- print("沒被照到的有:%d格\n" , count);
- system("pause");
- }
- void light(int x, int y, int* arr)
- {
- int Sx = x , Sy = y , px , py;
- //left up right down
- for(px=x-1, py=y; px>=0 && arr[px*k+py]==0 || arr[px*k+py]==3 ; px--) arr[px*k+py]=3;
- for(py=y-1, px=x; py>=0 && arr[px*k+py]==0 || arr[px*k+py]==3 ; py--) arr[px*k+py]=3;
- for(px=x+1, py=y; px<k && arr[px*k+py]==0 || arr[px*k+py]==3 ; px++) arr[px*k+py]=3;
- for(py=y+1, px=x; py<k && arr[px*k+py]==0 || arr[px*k+py]==3 ; py++) arr[px*k+py]=3;
- }
複製代碼 因為 printf 加左刮號 是敏感字詞
所以用 print,前面加個 #define print printf
...
|
|