Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Amandosov
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
#1

2015. Женя переезжает из общежития

29.11.2014, 13:30. Просмотров 305. Ответов 2
Метки нет (Все метки)

Задача длинная,поэтому задача по этой ссылке

http://acm.timus.ru/problem.aspx?space=1&num=2015

помогите, что у меня не так?
у меня ошибка на номере 4

вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
 
int main()
{
    long sj,prj1,prj2,n,k,sd[256],prd[256],kom[256],sh[256],prh[256];
    cin>>sj>>prj1>>prj2>>n;
    for(int i=0;i<n;i++)
    cin>>sd[i]>>prd[i];
    cin>>k;
    for(int i=0;i<k;i++)
    cin>>kom[i]>>sh[i]>>prh[i];
    
    long max=-1,nh=0,nd=0;
    
    for(int i=0;i<k;i++)
        if(kom[i]==1) { if(sh[i]<=sj&&(prj1+prh[i]>max)) {max=prj1+prh[i];nh=i+1;nd=0;}}
        else {
        if(sh[i]<=sj&&(prj2+prh[i]>max)) {max=prj2+prh[i];nh=i+1;nd=0;}
        for(int j=0;j<n;j++)
        if(sh[i]<=int(double(sj)/2.0+double(sd[j])/2.0)&&(prh[i]+prd[j]>max)) {max=prh[i]+prd[j];nh=i+1;nd=j+1;}
        }
    
    if(nd==0) 
    {if(nh==0) cout<<"Forget about apartments. Live in the dormitory."<<endl;
    else cout<<"You should rent the apartment #"<<nh<<" alone."<<endl;
    } else cout<<"You should rent the apartment #"<<nh<<" with the friend #"<<nd<<"."<<endl;
    
    
    
    
    return 0;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2014, 13:30
Ответы с готовыми решениями:

Континент переезжает?
они переходят на новый спутник на 85,2? несущая 12600 уже работает у кого...

БД Общежития
Как сделать так чтобы в комнату с вместимостью 2 человека нельзя было записать...

Переезжает содержимое при увеличении масштаба
При увеличении масштаба ломается верстка. В центральной части смещается...

Запрос для поиска бд студенты и общежития
Очень нужна Ваша помощь! Имеется база данных Деканата и там есть общежития и...

Заданы имена Валя,Гена,Женя....
Заданы имена Валя,Гена,Женя,Коля,Маша,Нина,Саша,Таня,Федя,Шура. Ввести массивы...

2
Fallenworld
76 / 76 / 32
Регистрация: 14.04.2014
Сообщений: 408
29.11.2014, 14:15 #2

Не по теме:

Цитата Сообщение от Amandosov Посмотреть сообщение
вот мой код:
это жесть, а не код.
Я не говорю, про отсутствие комментов.
Но строки, длиннйо в километр без пробелов и "однобуквенные" имена делают код гиганской регэкспой.

Разобраться, конечно, можно, ктоб спорил, но вот только не хочется!



Добавлено через 13 минут

Не по теме:

хотя бы так. причем 3 переменные я так и не понял

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
int main()
{
   long int Jenyas_kash,
            advantages_live_1,
            advantages_live_2,
            friends_count,
            flat_count,
            friedn_kash[256],
            advantages_live_friend[256],
            room_count[256],
            rent_cost[256],
            flat_advantages[256];
    
    cin >>  Jenyas_kash
            >>  advantages_live_1
            >>  advantages_live_2
            >>  friends_count;
    for(int i=0; i<friends_count; i++) cin >> friedn_kash[i] >> advantages_live_friend[i];
    
    cin>>flat_count;
    
    for(int i=0; i<flat_count; i++)   cin >> room_count[i] >> rent_cost[i] >> flat_advantages[i];
    
    long    max=-1,
            nh=0,
            nd=0;
    
    for(int i=0; i<flat_count; i++)
        if(room_count[i] == 1) { 
            if(rent_cost[i] <= Jenyas_kash && (advantages_live_1+flat_advantages[i] > max)){
                max=advantages_live_1+flat_advantages[i];
                nh=i+1;
                nd=0;
            }
        }
        else {
            if(rent_cost[i] <= Jenyas_kash && (advantages_live_2+flat_advantages[i] > max)){
                max=advantages_live_2+flat_advantages[i];
                nh=i+1;
                nd=0;
            }
            for(int j=0; j<friends_count; j++)
                if(rent_cost[i] <= int(double(Jenyas_kash)/2.0+double(friedn_kash[j])/2.0) &&(flat_advantages[i]+advantages_live_friend[j] > max)){
                    max=flat_advantages[i]+advantages_live_friend[j];
                    nh=i+1;
                    nd=j+1;
                }
        }
    
    if(nd==0){
        if(nh==0) 
            cout<<"Forget about apartments. Live in the dormitory."<<endl;
        else 
            cout<<"You should rent the apartment #"<<nh<<" alone."<<endl;
    } 
    else 
       cout <<"You should rent the apartment #"<<nh
            <<" with the friend #"<<nd<<"."
            <<endl;
    
    return 0;
}

0
Amandosov
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
29.11.2014, 14:52  [ТС] #3
Fallenworld, спасибо что отредактировал
max - maximum advantage
nh - number of flat
nd - number of friend
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2014, 14:52

Install Shield 2015 и Visual Studio 2015 Community
Как в Visual Studio 2015 Community интегрировать Install Shield что можно было...

Комната общежития описывается списком (номер-этажа номер-комнаты кол-во-проживающих)
Помогите пожалуйста сделать функции для: Комната общежития описывается...

QT и VS 2015
Установил QT для VS 2015. Установилось QT Creator, работат. Запустил VS,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru