前提・実現したいこと
問題
あるゲーム大会にはN人が参加しM試合が行われました。各参加者には1からNの番号が割り当てられています。試合に関する情報が与えられるので、M回の試合がすべて終了した時点での試合結果の表を作成し、出力してください。ただし、同じ参加者のペアについて2回以上試合が行われることはないとします。
入力
試合1で勝った人の番号A1 試合1で負けた人の番号B
試合2で勝った人の番号A2 試合2で負けた人の番号B2
⋮
⋮
試合Mで勝った人の番号AM 試合Mで負けた人の番号BM
発生している問題・エラーメッセージ
terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 3) >= this->size() (which is 3)
該当のソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
int N,M;
cin>>N>>M;
vector<int> A(M),B(M);
for(int i=0;i<M;i++){
cin>>A.at(i)>>B.at(i);
}
vector<vector<char>> result(N,vector<char>(N,'-'));
for(int i=0;i<M;i++){
result.at(A.at(i)).at(B.at(i))='o';
result.at(B.at(i)).at(A.at(i))='x';
}
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
cout<<result.at(i).at(j);
if(j==N-1){
cout<<endl;
}
else{
cout<<" ";
}
}
}
試したこと
3 2
1 2
3 1
の入力