IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Треугольные волны
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Всем привет smile.gif

Решил в качестве хобби в последнее время убить двух зайцев, поизучать с++ и порешать интересные задачки, нашел сайт с онлайнтестером и начал решать. На одной из задач (достаточно простой по моему мнению), мне упорно заявляют Wrong answer mad.gif Где и в чем моя ошибка я понять не могу, подозреваю, что в силу недостаточного знания английского, не точно понял формат ввода/вывода данных или часть условия, хотя все кажется ясным.

Задание (на английском языке) находится тут: http://acm.uva.es/p/v4/488.html
Еще одно описание с тестовыми данными тут: http://www.algorithmist.com/index.php/UVa_488
Онлайн судья тут: http://uva.onlinejudge.org/

мой код тут:


#include <iostream>
#include <string>
#include <vector>

using namespace std;

int tests, freq, ampl;
string blank, result_str;

string get_wave( int a )
{
string wave;
vector<string> lines;

for (int i = 0; i < a; i++ )
{
string line;
char c = (char)(49 + i);

for ( int j = 0; j <= i; j++ )
{
line.push_back©;
}
lines.push_back(line);
}

for (int i = 0; i < 2 * a - 1; i++)
{
int idx = i < a ? i : (2*a - i - 2);

wave.append(lines[idx]);
wave.append("\n");
}

return wave;
}

int main()
{

cin >> tests; // читаем кол-во тестов
getline( cin, blank ); // читаем пустую строку

while ( --tests >= 0 )
{
cin >> ampl; // по каждому тесту читаем 2 подрят идущих строки с амплитудой и частотой
cin >> freq;
// далее никаких пустых строк не читаем, получаеим и сохраняем результат для данного теста и переходим к чтению следующих 2-х строк (если это не последний тест)
string wave = get_wave( ampl );
for (int i = 0; i < freq; ++i )
{
result_str.append( wave );
if (!( i == freq - 1 && tests == 0))
{
result_str.append("\n");
}
else
{
result_str.erase(result_str.length() - 1);
}
}
}

cout << result_str;
return 0;
}



Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 20:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name