Shift Dot
Time Limit: 1000 ms
Memory Limit: 65536 KiB
Problem Description
给出平面直角坐标系中的一点,并顺序给出n个向量,求该点根据给定的n个向量位移后的位置。
Input
多组输入,第一行是三个整数x,y,n,表示点的坐标(x,y),和向量的个数n。接下来n行,每行两个数xi,yi,表示第i个向量。题目中所有数据不会超出整形范围。
Output
每组输入输出一行,"(x,y)"表示点的最终位置。
Sample Input
0 0 1 2 3 0 0 2 1 2 2 3
Sample Output
(2,3) (3,5)
Code
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
Point p = new Point(sc.nextInt(), sc.nextInt());
int n = sc.nextInt();
while (n-- != 0) {
p = p.move(sc.nextInt(), sc.nextInt());
}
System.out.println(p);
}
sc.close();
}
}
class Point {
int x;
int y;
public Point(int x, int y) {
super();
this.x = x;
this.y = y;
}
@Override
public String toString() {
return "(" + x + "," + y + ")";
}
public Point move(int xOff, int yOff) {
x += xOff;
y += yOff;
return new Point(x, y);
}
}
反思:
Java的类练习。没什么难度。