Блог пользователя miraina

Автор miraina, 13 лет назад, По-русски

Здравствуйте! Обычно я пользуюсь следующим шаблоном в Java:


import java.io.*;
import java.math.*;
import java.util.*;


public class Main {
    
    public BufferedReader input;
    public PrintWriter output;
    public StringTokenizer stoken = new StringTokenizer("");
    
    public static void main(String[] args) throws IOException {
        new Main();
    }
    
    Main() throws IOException{
        input = new BufferedReader(
                  new InputStreamReader(System.in)
        );
        output = new PrintWriter(System.out);
        Long x = nextLong(); 

        input.close();
        output.close();
    }

    private Long nextLong() throws NumberFormatException, IOException {
        return Long.parseLong(nextString());
    }

    private String nextString() throws IOException {
        while (!stoken.hasMoreTokens()){
            String st = input.readLine();
            stoken = new StringTokenizer(st);
        }
        return stoken.nextToken();
    }
    
    
}


Недавно столкнулась со следующей задачей: http://acm.timus.ru/problem.aspx?space=1&num=1001

Как правильно считывать данные, если неизвестно, сколько строк содержится во входном файле? Как усовершенствовать мой шаблон? Заранее спасибо!

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится

Автор miraina, 13 лет назад, По-русски

Как наиболее эффективно и быстро решить эту задачу:

Однажды Дима вышел на улицу погулять. Первым делом он отправился на футбольное поле, но никого там не обнаружил. Его внимание привлекли странные ямки. Как раз этим утром он читал про круги на полях и сразу заподозрил неладное. Более того, он понял, что искать! Он считает, что на поле есть такие четыре ямки, которые являются вершинами квадрата, стороны которого параллельны сторонам поля. Помогите Диме понять, прав ли он.

Входные данные
В первую строку входного файла записано целое число N — количество ямок на поле (1 ≤ N ≤ 2012). Следующие N строк содержат декартовы координаты ямок — пары целых чисел, не превосходящих 1000000 по абсолютной величине. В каждой строке координаты записаны через пробел. Футбольное поле имеет прямоугольную форму. Оси координат параллельны сторонам поля.

Выходные данные
Если Дима прав, выведите в выходной файл через пробел в любом порядке номера ямок, образующих искомый квадрат. Ямки нумеруются с единицы в том порядке, в котором они перечислены во входном файле. Если таких квадратов несколько, выберите любой.
Если квадрата нет, выведите строку NO SOLUTION.

Заранее спасибо за помощь!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится