С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
serik13
3 / 3 / 0
Регистрация: 04.01.2011
Сообщений: 71
#1

Задача Клавиатура - C++

23.09.2011, 18:34. Просмотров 1761. Ответов 1
Метки нет (Все метки)

Нужна реализация в С++ , заранее спс

Задача Клавиатура

Имя входного файла: keyboard.in
Имя выходного файла: keyboard.out
Максимальное время работы на одном тесте: 2 секунды
Максимальный объем используемой памяти: 64 мегабайта

Всем известно, что со временем клавиатура изнашивается, и клавиши на ней начинают залипать. Конечно, некоторое время такую клавиатуру еще можно использовать, но для нажатий клавиш приходиться использовать большую силу.
При изготовлении клавиатуры изначально для каждой клавиши задается количество нажатий, которое она должна выдерживать. Если знать эти величины для используемой клавиатуры, то для определенной последовательности нажатых клавиш можно определить, какие клавиши в процессе их использования сломаются, а какие – нет.

Требуется написать программу, определяющую, какие клавиши сломаются в процессе заданного варианта эксплуатации клавиатуры.

Формат входных данных
Первая строка входного файла содержит целое число n (1 ≤ n ≤ 100) – количество клавиш на клавиатуре. Вторая строка содержит n целых чисел – с1, с2, … , сn, где сi (1 ≤ сi ≤ 100000) – количество нажатий, выдерживаемых i-ой клавишей. Третья строка содержит целое число k (1 ≤ k ≤ 100000) – общее количество нажатий клавиш, и последняя строка содержит k целых чисел pj (1 ≤ pj ≤ n) – последовательность нажатых клавиш.

Формат выходных данных
В выходной файл необходимо вывести n строк, содержащих информацию об исправности клавиш. Если i-ая клавиша сломалась, то i-ая строка должна содержать слово “yes” (без кавычек), если же клавиша работоспособна – слово “no”.
Пример входных и выходных данных
keyboard.in
5
1 50 3 4 3
161 2 3 4 5 1 3 3 4 5 5 5 5 5 4 5
keyboard.out
yes
no
no
no
yes

Есть на Паскале
Var
c : array [1..100] of longint;
n, i, k, t : longint;
f : text;
Begin
Assign(f,'keyboard.in');
Reset(f);
ReadLn(f,n);
For i:=1 to N do
Read(f,c[i]);
Readln(f,k);
For i:=1 to k do
begin
Read(f,t);
Dec(c[t]);
end;
Close(f);
Assign(f,'keyboard.out');
Rewrite(f);
For i:=1 to N do
If c[i]>=0 Then
Writeln(f,'no')
Else Writeln(f,'yes');
Close(f);
End.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2011, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача Клавиатура (C++):

Клавиатура - C++
Как можно отследить нажатую клавишу и написать вместо неё другую

Экранная клавиатура - C++
Надо сделать так, чтобы нажимая мышкой кнопки на форме(например "4") программа записывала их в запущеный текстовый редактор(блокнот). В...

Консоль и клавиатура... - C++
в консоли я хочу использовать стрелки или WASD, чтобы руководить той же "змейкой" (читал исходник ее, но не смог разобраться). Ну если не...

Задача "Клавиатура" - Java SE
Для данной буквы латинского алфавита нужно вывести справа стоящую букву на стандартной клавиатуре. При этом клавиатура замкнута, т.е....

Клавиатура - C++ Builder
как узнать какая сейчас расладка тоесть какой сейчас язык.? переключать можно так LoadKeyboardLayout("00000409", KLF_ACTIVATE); //...

клавиатура - Клавиатуры
здравствуйте, проблема в том что при включении компа в окне загрузки просит нажать f1 для продолжения либо f8, del, а клавиатура ни как не...

1
diagon
Higher
1932 / 1198 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
23.09.2011, 18:55 #2
Мое решение задачи:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
 
int arr[101], n, i;
 
int main()
{
    std::fstream v("input.txt"), o("output.txt", std::ios::out);   
    
    for (v >> n; i < n; )
        v >> arr[i++];
    
    for (v >> i; v >> i;)
        --arr[i-1];
    
    for (i = 0; i < n; )
        o << (arr[i++] < 0 ? "yes " : "no ");
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2011, 18:55
Привет! Вот еще темы с ответами:

Клавиатура - Ремонт ноутбуков
Всем доброго времени суток возможно тема не в том разделе проблема такова: у меня ноут acer aspire 5742G и вчера (нечайно) вытянул 4...

Клавиатура - Клавиатуры
добрый день. так как то получилось, что при нажатии одной клавиши печатается ещё и соседний символ. клавиатуру не разбирал, не заливал,...

Ps/2 клавиатура - Клавиатуры
Доброго времени суток:) Подскажите пожалуйста. Имею клавиатуру 4tech и kraftway kb-9810. Проблема в том, что первая очень часто отходила...

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


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

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

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