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

Оператор запятая в return и задача - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужна небольшая правка в программе http://www.cyberforum.ru/cpp-beginners/thread1606967.html
Здравствуйте! Задание: меняя местами строки матрицы, отсортировать по возрастанию ее первый столбец. (Динамический двумерный массив) Есть код, который сортирует в массиве только указанную строку или...
C++ Простые операторы языка С ++ - C++ Первая задача Вторая задача Помогите пожайлуста! http://www.cyberforum.ru/cpp-beginners/thread1606966.html
C++ Программирование RLC цепей
Доброго времени суток! У меня возник вопрос, как можно запрограммировать RLC цепь. К примеру, у меня есть несколько схем. Как можно было бы запрограммировать на C++ процедурами(для удобства)? Схемы...
C++ Поиск связных областей на изображении
Всем доброго времени суток. Наткнулся на htrehcbdysq алгоритм поиска связных областей на изображении (псевдокод): void Labeling(BIT* img, int* labels) { // labels должна быть обнулена L = 1;...
C++ Метод дихотомии( половинного деления) C++ http://www.cyberforum.ru/cpp-beginners/thread1606954.html
Здравствуйте, хотел обратиться за помощью. Нужно найти корень функции методом дихотомии. Функцию можно использовать любую( в моем случае cos(x) ), интервалы и епсилон задаются пользователем. Я как бы...
C++ Шаблоны классов. Создать шаблон класса «очередь» Создать шаблон класса «очередь». Написать программу, демонстрирующую работу с этим шаблоном для различных типов параметров шаблона. Программа должна содержать меню, позволяющее осуществить проверку... подробнее

Показать сообщение отдельно
mad_ded
1 / 1 / 0
Регистрация: 25.10.2013
Сообщений: 39

Оператор запятая в return и задача - C++

09.12.2015, 01:53. Просмотров 204. Ответов 1
Метки (Все метки)

Всем ДВС!
Разъясните пожалуйста, почему тимус принимает
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
#include <cstdio>
#include <cstdlib>
 
const int MAXN = 1 << 5;
 
int N;
int dp[MAXN];
 
void ans_NO() {
    printf("-1\n");
    exit(0);
}
 
int f(int n, int fr, int to, int aux) {
    //  printf ("%d %d %d %d\n", n, fr, to, aux);
    if (n == -1) return 0;
    if (dp[n] == fr)
        return f(n - 1, fr, aux, to);
    else if (dp[n] == to)
        return f(n - 1, aux, to, fr) + (1 << n);
    else
        return ans_NO(),-1;
}
 
int main() {
    scanf("%d", &N);
 
    for (int i = 0; i < N; ++i) {
        scanf("%d", dp + i);
        --dp[i];
    }
    //for (int i = 0; i < N; i++) printf("%d", dp[i]);
 
    printf("%d\n", f(N - 1, 0, 1, 2));
    scanf("%d", &N);
    return 0;
}
но если в функции f
C++
1
return ans_NO(),-1;
заменить на
C++
1
return -1;
тимус выдаст Wrong answer 5? Вроде бы если подставлять значения которые приводят к выводу -1 (например 3 2 2 2) визуально ничего не поменялось, как выводил -1, так и выводит. Заранее спасибо!

Добавлено через 27 минут
Забыл добавить: это задача 1054
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru