頭良くなりたい人

文系大学生shadeのブログです。競技プログラミングや人文学の話題,受験ネタなど。

ABC062 B - Picture Frame

問題はこちら atcoder.jp

方針

あらかじめ縁のための配列を確保しておきます。

コード

#include <bits/stdc++.h>
using namespace std;

int main(){
    int h,w;
    cin>>h>>w;

    vector<vector<char>> a(h+2,vector<char>(w+2));
    for(int i=1; i<h+1; i++){
        for(int j=1; j<w+1; j++){
            cin>>a[i][j];
        }
    }

    for(int j=0; j<w+2; j++){
        a[0][j]='#';
        a[h+1][j]='#';
    }

    for(int i=1; i<h+1; i++){
        a[i][0]='#';
        a[i][w+1]='#';
    }

    for(int i=0; i<h+2; i++){
        for(int j=0; j<w+2; j++){
            cout<<a[i][j];
            if(j==w+1){
                cout<<endl;
            }   
        }
    }
}