Форум программистов, компьютерный форум CyberForum.ru

Коробки - C++

Восстановить пароль Регистрация
 
GORT92
-27 / 0 / 1
Регистрация: 26.01.2013
Сообщений: 23
14.03.2013, 17:44     Коробки #1
На столе лежат коробка размера A1 × B1 × C1 и коробка размера A2 × B2 × C2. Выясните можно ли одну из этих коробок положить в другую, если разрешены повороты коробок вокруг любого ребра на угол 90 градусов.

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

Первая строка входного файла содержит три целых числа A1, B1 и C1. Вторая строка входного файла содержит три целых числа A2, B2 и C2. Все числа положительны и не превосходят 1000.

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

Если коробки одинаковы, выведите "Boxes are equal". Если первая коробка может быть положена во вторую, выведите "The first box is smaller than the second one". Если вторая коробка может быть положена в первую, выведите "The first box is larger than the second one". Иначе, выведите "Boxes are incomparable".







Мой код:

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
#include <fstream>
using namespace std;
int main(){
    ifstream fin ("input.txt");
    ofstream fout("output.txt");
    char a=0,b=0,c=0,d=0,e=0,f=0,i=0;
    long long int m=0,n=0;
    fin>>a>>b>>c>>d>>e>>f;
    m=a+b;
    m=m+c;
    n=d+e;
    n=f+n;
    
    if((a==f && b==e && c==d) || (a==e && b==f && c==d) || (a==f && b==d && c==e) || (a==d && b==e && c==f))fout<<"Boxes are equal";
    if(m>n)fout<<"The first box is larger than the second one";
    if(m<n)fout<<"The first box is smaller than the second one";
    /*if(
    ((a!=f && b==e && c==d) || 
    (a!=f && b!=e && c==d) || 
    (a!=f && b==e && c!=d) || 
    (a==f && b!=e && c==d) || 
    (a!=f && b!=e && c==d) || 
    (a==f && b!=e && c!=d) || 
    (a==f && b==e && c!=d) || 
    (a!=f && b==e && c!=d) || 
    (a==f && b==e && c!=d) || 
    (a==f && b!=e && c==d)) &&
    (m==n))*/
    else fout<<"Boxes are incomparable";
   
    
    fin.close();
    fout.close();
    return 0;}
Добавлено через 40 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
using namespace std;
int main(){
    ifstream fin ("input.txt");
    ofstream fout("output.txt");
    char a=0,b=0,c=0,d=0,e=0,f=0,i=0;
    long long int m=0,n=0;
    fin>>a>>b>>c>>d>>e>>f;
    m=a+b;
    m=m+c;
    n=d+e;
    n=f+n;
    
    if((a==f && b==e && c==d) || (a==e && b==f && c==d) || (a==f && b==d && c==e) || (a==d && b==e && c==f))fout<<"Boxes are equal";
    if(m>n)fout<<"The first box is larger than the second one";
    if(m<n)fout<<"The first box is smaller than the second one";
    else fout<<"Boxes are incomparable";
   
    
    fin.close();
    fout.close();
    return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 17:44     Коробки
Посмотрите здесь:

C++ Шары и коробки
C++ Отражение шара от стенок коробки
Динамическое программирование. Вложенные коробки. C++
2 коробки Turbo Pascal
C++ Название задачи: Коробки (Тема НОД, НОК)
Кросплатформенные сокеты из коробки C++
Грани коробки OpenGL
Free Pascal «Удачные коробки»

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GoldenId
 Аватар для GoldenId
45 / 43 / 2
Регистрация: 11.11.2010
Сообщений: 272
Завершенные тесты: 1
14.03.2013, 18:56     Коробки #2
Вариант без явных циклов
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
#include <vector>
#include <algorithm>
#include <fstream>
 
using namespace std;
 
const int n = 3;
 
void main()
{
    ifstream ifs;
    ofstream ofs;
 
    int box1[ n ];
    int box2[ n ];
 
    // зачитать размеры коробок из файла
 
    sort( box1, box1 + n );
    sort( box2, box2 + n );
 
    if( mismatch( box1, box1 + n, box2 ).first == box1 + n )
        ofs << "Boxes are equal";
    else if( mismatch( box1, box1 + n, box2, less<int>() ).first == box1 + n )
        ofs << "The first box is smaller than the second one";
    else if( mismatch( box1, box1 + n, box2, greater<int>() ).first == box1 + n )
        ofs << "The first box is larger than the second one";
    else
        ofs << "Boxes are incomparable";
}
Привет контесту.
GORT92
-27 / 0 / 1
Регистрация: 26.01.2013
Сообщений: 23
02.04.2013, 20:17  [ТС]     Коробки #3
Мне бы на Dev C++, без офс,сорт и что за .first greater<int>() ?
Yandex
Объявления
02.04.2013, 20:17     Коробки
Ответ Создать тему
Опции темы

Текущее время: 01:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru