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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.57
AKruglyak
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 24
#1

Театральная площадь - C++

24.03.2012, 11:49. Просмотров 2093. Ответов 4
Метки нет (Все метки)

Здравствуйте, при решении задачи Театральная площадь с Codeforce столкнулся в проблемой. Вот моё решение:
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
#include <iostream>
using namespace std;
int main(){
    unsigned long int n,m,a,result=0;
    cin>>n>>m>>a;
    if(a<n and a<m){
     if(n%a==0 and m%a==0)
      result=(n/a)*(m/a);
     else{
      if(n%a==0)     
       result=(n/a)*(m/a+1);
      if(m%a==0)
       result=(n/a+1)*(m/a);
      else if(n%a!=0 and m%a!=0)
       result=(n/a+1)*(m/a+1);  
         } 
         }
    else{
      if(a>=n and a>=m) 
       result=1;
      else {
       if(a>=n){
        if(m%a==0) 
         result=m/a;
        else 
         result=m/a+1;
             }
       else{
         if(n%a==0) 
          result=n/a;
         else 
          result=n/a+1;
             }
       }
         }
 
    cout<<result;
}
C++ только начал изучать, поэтому решение столь примитивное, но, как мне кажется, оно верное.
Проходит 15 тестов, на 16 выдает ошибку. Приведите пожалуйста тест, который не сможет пройти мой решение, и укажите ошибку, если не трудно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2012, 11:49     Театральная площадь
Посмотрите здесь:

Найти площадь грани, площадь полной поверхности и объем куба - C++
помогите плиз решить задачки 1. дано a. не используя не каких функций и не каких сценарий, кроме умножения, получить a в 8 степени ,...

Найти площадь грани, площадь полной поверхности и объем куба - C++
Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объем куба. Результаты вывести на экран с пояснительным текстом.

Вычислить площадь многоугольника с использованием функции,которая определяет площадь по координатам его вершин - C++
Народ помогите пож нужно очень срочно. совсем запутался с этим задание,буду благодарен за помощь. Вычислить площадь многоугольника с...

Определить площадь круга и площадь заштрихованных областей - C++
Помогите с ответом, как сделать задачу: Напишите функцию double circle_area(double R) которая узнает площадь круга, . С помощью...

Составить базу данных о квартирах дома (от 6 до 12). Для каждой квартиры указать номер, жилую площадь, общую площадь, количество жильцов... - C++
Составить базу данных о квартирах дома (от 6 до 12). Для каждой квартиры указать номер, жилую площадь, общую площадь, количество жильцов,...

Площадь - C++
По случаю юбилея города было принято решение о замощение площади прямоугольными гранитными плитами. Каждая плита имеет размер K × L метров....

Площадь многоугольника - C++
Найти площадь невыпуклого многоугольника(n-угольник). Входные данные: координаты точек. На output вывести площадь.

Площадь прямоугольника - C++
Написать программу вычисления площади прямоугольника.

Площадь треугольника - C++
Помогите пожалуйста. Надо сделать программу которая по трем координатам, введенных пользователем, считает площадь фигуры, ограниченной...

Площадь треугольника - C++
Нужно найти площадь треугольника по введеным сторонам a и b и углу C Программу написал, но она находит какие то непонятные значения....

площадь треугольника - C++
Помогите сделать прогу. Пож. Условие: Напишите программу, которая вычисляет площадь треугольника, если известны координаты его углов....

определить площадь - C++
дано задание-Два выпуклых многоугольника заданы на плоскости перечислением координат вершин в порядке обхода границы. Определить площади...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2539 / 1304 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.03.2012, 12:02     Театральная площадь #2
AKruglyak, полагаю, на последнем тесте что-то вроде 109, 109, 1.
Такое решение проходит
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    long long n, m, a;
    std::cin >> n >> m >> a;
    n = ((n % a) ? (1) : (0)) + n / a;
    m = ((m % a) ? (1) : (0)) + m / a;
    std::cout << m * n << std::endl;
}
AKruglyak
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 24
24.03.2012, 12:19  [ТС]     Театральная площадь #3
Спасибо, я исправил unsigned long int на long long и все прошло, не знал о таком типе данных, ни в одной книге не видел. Ну, а ваше решение навело меня на мысль, что предстоит очень долгий путь)
SydoQQ
0 / 0 / 0
Регистрация: 22.02.2017
Сообщений: 4
22.02.2017, 16:01     Театральная площадь #4
Цитата Сообщение от soon Посмотреть сообщение
AKruglyak, полагаю, на последнем тесте что-то вроде 109, 109, 1.
Такое решение проходит
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    long long n, m, a;
    std::cin >> n >> m >> a;
    n = ((n % a) ? (1) : (0)) + n / a;
    m = ((m % a) ? (1) : (0)) + m / a;
    std::cout << m * n << std::endl;
}
Вот мой код, не проходит 9 тест на codeforce, не могу понять почему, не могли бы вы пояснить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
    unsigned long int n,m,a;
    unsigned long int b,c;
    cin>>n>>m>>a;
    b=(int)n/a;
    c=(int)m/a;
    if(n%a!=0)
        b++;
    if(m%a!=0)
        c++;
    cout<<b*c;
}
SydoQQ
0 / 0 / 0
Регистрация: 22.02.2017
Сообщений: 4
23.02.2017, 17:28     Театральная площадь #5
Я понял свою ошибку, все дело было в максимальном значении типа, оно не подходит для данной задачи.
Yandex
Объявления
23.02.2017, 17:28     Театральная площадь
Ответ Создать тему
Опции темы

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