Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】ABC 343 B - Adjacency Matrix | 茶コーダーが解くAtCoder

atcoder.jp

実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 53

問題概要

 N 頂点の単純無向グラフ  G があり、頂点には  1, 2, ..., N の番号がついている。 G の隣接行列  A_{i, j} が与えられる。頂点  i (i=1, 2, ..., N) と直接結ばれている頂点の番号を昇順に出力せよ。

制約

  • 入力は全て整数
  •  2 \leq N \leq 100

考察

B問題でグラフ理論!?とぎょっとしたが、隣接行列の性質を考えれば、各行ごとに長さ  N の配列を読み込んでいき、 (その要素が1のインデックス)+1 を出力していけばよい。

コード

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

#define rep(i, start, end) for (ll i = (start); i < (ll)(end); i++)

// ======================================== //

int main()
{
    int N;
    cin >> N;
    rep(i, 0, N)
    {
        vector<int> v(N);
        rep(j, 0, N) cin >> v[j];

        rep(j, 0, N)
        {
            if (v[j] == 1)
                cout << j + 1 << " ";
        }
        cout << endl;
    }
}

atcoder.jp

実装時間: 5分以内