公式
A - 穴あきカード / Punched Card 解説
by
A - 穴あきカード / Punched Card 解説
by
physics0523
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
この問題の要求は以下の \(2\) 段階に大別できます。
- \(N \times M\) の
#で埋まったカードを作る - 指定された箇所に穴を空ける
1. については、長さ \(M\) の # のみからなる文字列を \(N\) 個配列として用意するなどの方法があります。これで、カードを二次元配列として表現することができます。
2. については、配列のうち当該の要素を . に置き換えていけばよいです。
一連の流れは、基本的な制御構文の組み合わせで実現可能です。
実装例 (C++):
#include<bits/stdc++.h>
using namespace std;
int main(){
int N,M,K;
cin >> N >> M >> K;
vector<string> s(N);
for(int i=0;i<N;i++){
for(int j=0;j<M;j++){s[i].push_back('#');}
}
while(K--){
int R,C;
cin >> R >> C;
s[R-1][C-1]='.';
}
for(auto &nx : s){
cout << nx << "\n";
}
return 0;
}
投稿日時:
最終更新:
