Жила-была девочка катя, и было у неё много-много денег. и подруг. ну как
и собрались они как-то раз все вместе у кати дома и обсуждали фильмы. многие хвалили вкус кати. редко кто не соглашался с её мнением. о вкусах, конечно, не спорят, но кате показалось это странным и она решила устроить проверку.
катя записала m пар фильмов, которые девочки сравнивали, и для каждой такой пары пометила, какой из фильмов девочки посчитали однозначно лучше другого. а потом воспользовалась своим обаянием влиянием и убедила школьного психолога провести тестирование, в котором есть вопрос о трёх любимых фильмах. вот так вот всё просто, когда ты – катя.
среди неиспорченных бланков тестирования (не спрашивайте, как она их достала) катя нашла заполненные бланки n своих подруг. скажите, согласовываются ли записи кати с каждым из ответов на вопрос о трёх любимых фильмах в отдельности.
формат входных данных
в первой строке заданы числа n и m (1≤n,m≤1000).
в следующих m строках – пары фильмов, записанные у кати. первый фильм в паре считается лучше второго.
в следующих n строках – списки любимых фильмов девочек. первый фильм в тройке считается лучше второго, а второй – лучше третьего.
записи кати непротиворечивы. каждая пара фильмов в записях кати встречается не более одного раза.
так сложилось, что все фильмы, что встречаются в списках любимых фильмов девочек, встречаются и в записях кати, а в каждом отдельно взятом списке все три фильма различны.
для вашего же удобства названия фильмов во входных данных заменены на положительные натуральные числа, не превышающие 106.
формат выходных данных
выведите n строк, в i-ой из которых должно быть написано honest, если список любимых фильмов из i-го бланка не противоречит записям кати, или liar, если противоречит.
не выводите лишние пробелы в конце или начале строк - это будет считаться за ошибку.
пояснение к примеру
тройка фильмов 1 2 4 противоречит записям кати, так как по записям кати фильм 5 лучше фильма 4, но его нет в тройке.
тройка фильмов 1 3 2 противоречит, так как по записям кати фильм 2 лучше фильма 3, а в тройке фильм 3 стоит до фильма 2.
тройка фильмов 5 4 8 противоречит, так как по записям кати фильм 2 лучше фильма 4, но его нет в тройке.
sample input:
5 8
1 3
1 2
2 3
2 4
4 8
5 4
5 6
7 6
1 2 3
1 2 4
1 3 2
5 4 8
5 7 6
sample output:
honest
liar
liar
liar
honest
напишите программу. тестируется через stdin → stdout
time limit: 1 секунда
memory limit: 256 mb
#include <iostream>
#include <vector>
using namespace std;
signed main() {
int n,m;
cin >> n >> m;
vector<vector<int>> a(n,vector<int> (m));
for(int i = 0; i < n; i++)
for(int j = 0; j < m;j++){
cout << i+1 << " пункт " << j+1 << " предмет: ";
cin >> a[i][j];
}
int x;
cout << "Необходимый номер предмета: ";
cin >> x;
int min_cur = INT_MAX, ans;
for(int i = 0; i < m; i++)
if(a[i][x-1] < min_cur){
min_cur = a[i][x-1];
ans = i+1;
}
cout << ans;
}
t ≈ 17c
Объяснение:
Ну, первым делом нам надо перевести 259 килобайт в биты, мы знаем, что в одном килобайте 1024 байта, а в одном байте 8 бит, то есть:
259 * 1024 * 8 = 2121728 бит
Это мы узнали объём сообщения в битах, теперь найдем время, которое понадобится для передачи этого сообщения с модема, с пропускной в 128000 бит/с. "Бит/с" нам показывает, сколько бит информации может передать этот модем за 1 секудну, ну это логично, теперь чтобы найти время, нам надо объём сообщения поделить на пропускную модема:
t = 2121728 бит / 128000 бит/с ≈ 16,6с
Ах, да, надо дать ответ целым числом, тогда t ≈ 17c