Главная страница
Навигация по странице:

  • Задача 64 (№ 409) Железная дорога (Сложность: 26%)

  • INPUT.TXT OUTPUT.TXT

  • Входные данные.

  • Выходные данные.

  • Для начинающих на С. Составители


    Скачать 1.31 Mb.
    НазваниеСоставители
    Анкорisakova-zarina@mail.ru
    Дата18.02.2023
    Размер1.31 Mb.
    Формат файлаdocx
    Имя файлаДля начинающих на С .docx
    ТипЗадача
    #943648
    страница28 из 38
    1   ...   24   25   26   27   28   29   30   31   ...   38



    #include

    #include

    using namespace std; 

    int main(){

      int min =3*10000;

      int max =-3*10000;

      int k = 0;

      int n;

      

      while (scanf("%d", &n) == 1){

        k++;  

        if ((k % 2 == 1) && (min>n)) min = n;

        if ((k % 2 == 0) && (max
      

      cout << max + min;

      return 0; }
    Задача 64 (№ 409) Железная дорога (Сложность: 26%)

    При строительстве новой железной дороги возникли проблемы. Дорога пролегает по холмистой местности, однако сами пути должны идти строго горизонтально. Поэтому руководство строительной компании приняло решение выровнять поверхность земли на этом участке. Главная проблема состоит в том, что привозить или вывозить землю на стройку стоит 10000$ за кубический метр. Поскольку бюджет железной дороги невелик, этого нельзя себе позволить.

    Поэтому главный инженер принял решение выровнять поверхность, используя только землю, из которой состоят холмы. Теперь самая сложная задача состоит в том, чтобы выяснить высоту над уровнем моря, на которой будет пролегать дорога. Это ответственное задание было поручено Вам.

    Через каждый метр от начала участка была измерена высота над уровнем моря. Напишите программу, которая по данным измерений рассчитывает искомую высоту.

    Входные данные





    INPUT.TXT

    OUTPUT.TXT

    1

    4
    0 1 1 0

    0.6666666667

    2

    5
    2 2 2 2 2

    2.0000000000
    Первая строка входного файла содержит количество N (1 < N <= 30000) точек, в которых была замерена высота. Вторая строка содержит результаты замеров – i-ое число строки содержит высоту над уровнем моря точки, находящейся на расстоянии (i-1) метр от начала участка. Все высоты – целые неотрицательные числа, не превосходящие 10000. Считайте, что между соседними точками измерений земная поверхность строго прямолинейна.

    Выходные данные


    В выходной файл выведите ответ на задачу с точностью, не меньшей 10-5.


    #include

    using namespace std;

    int main() {

        int n ;

        double   s,h1,h2;

        cin >> n;

        cin >> h1;

        s = 0;

        for (int i = 1; i < n; i++)

    {

            cin >> h2;

        s=s+(h1+h2)/2;

        h1=h2;}

        s=s/(n-1);

        printf("%.5f", s);

        return 0; }




    Холм может состоять из трапеций, прямоуголь-ников или треугольников со стороной =1 м.

    S трапеции= =(h1+h2)/2

    S прямоугольника (при h1=h2) и S треугольника (при h2=0) сводятся к той же формуле.

    Что бы не использовать массив для каждой следующей фигуры превращаем h2 в h1 и читаем h2. Полученную площадь холма длим на (n-1), т.к. участков на 1 меньше чем точек измерения


    Задача 65 (№ 779) Строительство школы (Сложность: 30%)


    В деревне Интернетовка все дома расположены вдоль одной улицы по одну сторону от нее. По другую сторону от этой улицы пока ничего нет, но скоро все будет – школы, магазины, кинотеатры и т.д.

    Для начала в этой деревне решили построить школу. Место для строительства школы решили выбрать так, чтобы суммарное расстояние, которое проезжают ученики от своих домов до школы, было минимально.

    План деревни можно представить в виде прямой, в некоторых целочисленных точках которой находятся дома учеников. Школу также разрешается строить только в целочисленной точке этой прямой (в том числе разрешается строить школу в точке, где расположен один из домов – ведь школа будет расположена с другой стороны улицы).

    Напишите программу, которая по известным координатам домов учеников поможет определить координаты места строительства школы.




    INPUT.TXT

    OUTPUT.TXT

    1

    4
    1 2 3 4

    3

    2

    3
    -1 0 1

    0
    Входные данные. В первой строке входного файла INPUT.TXT сначала записано число N — количество учеников (1 ≤ N ≤ 100000). Во второй строке записаны в строго возрастающем порядке координаты домов учеников — целые числа, не превосходящие 2∙109по модулю.

    Выходные данные. В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — координату точки, в которой лучше всего построить школу. Если ответов несколько, выведите наибольший из них.


    #include

    using namespace std;

    int main(){

    long long int a, k, n;

    cin>>n;

    k=n/2+1;   

         

        for(int i=1;i<=n;i++){

        cin>>a;

        if(i==k)  cout<
        return 0; }

    Школа должна стоять посередине. Если домов четное количество, то n/2+1 (Если ответов несколько, выведите наибольший из них).
    Находим координату среднего дома



    1   ...   24   25   26   27   28   29   30   31   ...   38


    написать администратору сайта