公式
B - Draw Frame 解説
by
B - Draw Frame 解説
by
MMNMM
マス \((i,j)\) が端にある必要十分条件は、次のいずれかが成り立つことです。
- \(i=1\)
- \(i=H\)
- \(j=1\)
- \(j=W\)
あとは、これを使って \(H\times W\) 個の文字を決め、出力すればよいです。
実装例は以下のようになります。
#include <iostream>
using namespace std;
int main() {
int H, W;
cin >> H >> W;
for (int i = 0; i < H; ++i) {
for (int j = 0; j < W; ++j) {
if (i == 0 || i == H - 1 || j == 0|| j == W - 1) { // 端のマスなら
cout << '#'; // # を
} else { // そうでなければ
cout << '.'; // . を出力
}
}
cout << endl; // 改行する
}
return 0;
}
H, W = map(int, input().split())
for i in range(H):
for j in range(W):
if i == 0 or i == H - 1 or j == 0 or j == W - 1: # 端のマスなら
print('#', end='') # # を
else: # そうでなければ
print('.', end='') # . を出力
print('')
投稿日時:
最終更新:
