演習課題「ループで入力を取得しよう」
以下のフォーマットに沿って入力が行われます。
n (n 訪問点の数)
x_1 y_1 (x_1 は 訪問点の x 座標、 y_1 巡回ポイントの y 座標)
x_2 y_2 (x_2 は 訪問点の x 座標、 y_2 巡回ポイントの y 座標)
・・・
x_n y_n (x_n は 訪問点 x 座標、 y_n 巡回ポイントの y 座標)
与えられた座標を、入力された順にpointオブジェクトに格納してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
0 0
1 9
2 3
4 5
演習課題「ループで入力を取得しよう」
以下のフォーマットに沿って入力が行われます。
```
n (n 訪問点数)
x_1 y_1 (x_1 は 訪問点の x 座標、 y_1 訪問点の y 座標)
x_2 y_2 (x_2 は 訪問点の x 座標、 y_2 訪問点の y 座標)
・・・
x_n y_n (x_n は 訪問点の x 座標、 y_n 訪問点の y 座標)
```
右のコードエリアのプログラムは、訪問点の座標一覧を取得して、原点(0,0)から表示しますが、
このまま実行してもすべての点が表示されず、間違いになってしまいます。このプログラムを修正して、正しく表示されるようにしてください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
0 0
1 9
2 3
4 5
#06:入力処理を作ろう
ここでは入力処理を作ります。入力された点の並びをそのまま経路として使うことで、巡回セールスマン問題の解を1つ表示してみます。
2
3 4
8 1
// 入力処理
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
List<Point> points = new ArrayList<>();
for (int i=0; i<n; i++) {
Point p = new Point(scanner.nextInt(), scanner.nextInt());
points.add(p);
}