質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1101閲覧

蟻本p85の問題「食物連鎖」(POJ1182)の回答について

rdld036

総合スコア16

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/08/15 16:16

前提・実現したいこと

蟻本の食物連鎖の問題についてです。

(問題文)
N匹の動物がいて、1,2,...,Nと番号がつけられています。動物はすべて3つの種類A, B, Cのいずれかです。AはBを食べ、BはCを食べ、CはAを食べます。次の二種類の情報が順番にk個与えられます。
タイプ1: xとyは同じ種類です。
タイプ2: xはyを食べます。
これらは全て正しいとは限りません。以前に与えられた情報と矛盾する情報や、x,yが正しい番号でないような正しくない情報が与えられる可能性があります。K個の情報のうち、そのような情報の個数を出力してください。そのような情報は捨てるとします。

制約
1≦N≦50000
0≦K≦100000

入力
N K
type_1 x_1 y_1
.
.
.
type_K x_K y_K

出力
無視される情報の個数

この問題の回答にあたり、答えは一つに絞れるとは限らないと思います。例えば以下の簡単な例が与えられた時、上から順に見ていくと一番下の情報が矛盾するため、捨てる情報は1つになります。また、下から順番に情報を見ていくと上から1番目と、2番目が矛盾しているので捨てる情報は2つになります。この問題文の場合、答えが一つに絞れるとは書かれていないので(POJには答えは一つと書かれている)、どれか一つ解答の条件を満たすものであればそれを解答にしてもよろしいのでしょうか。

(例)
Type x y
2 1 2
2 2 3
2 3 1
1 1 2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ex025

2021/08/15 18:35

「以前に与えられた情報と」矛盾する つまり、上から順にみていくという条件
rdld036

2021/08/16 07:45

ありがとうございます。
guest

回答1

0

自己解決

「以前に与えられた情報」と言う文より答えは一つ

投稿2021/08/16 08:12

rdld036

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問