214, 437, 438
Wu-Jun Pei@Sprout2018
int N, M; // Deal with the Input std::cin >> N >> M; for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { std::cin >> mp[i][j]; } }
枚舉i, j,算周圍八格有幾個1
看code
印出來,等AC
[Click Me]
int R, C, T; std::cin >> R >> C; for (int i = 0; i < R; i++) for (int j = 0; j < C; j++) std::cin >> mp[i][j];
// go up for (int tx = x - 1, cnt = 0; 0 <= tx && x - 3 <= tx; tx--) { if (mp[tx][y] == '!') { cnt++; ans = std::max(ans, cnt); } else if (mp[tx][y] == '#') { break; } }
以向上為例
等著拿AC
思想上:
我的x是往下長的,Spacecraft_x記的是船的x座標
我的y是往右長的,Spacecraft_y記的是船的y座標
(Spacecraft_x, Spacecraft_y) 其實代表的就是船左上角的座標位置
什麼時候要動?什麼時候不用動?不用動:
操作指令不存在(e.g. 7)
碰到邊界:
以上下(x坐標系)為例:
如果上面已經到頂了(x == 1),就不能繼續往上走。
下面比較麻煩些(x + l == N v.s. x + l - 1 == N),小心那個1的問題。
把太空船塞進去
一開始把地圖的邊緣弄好了,現在弄中間
By Wu-Jun Pei