Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/39: Рейтинг темы: голосов - 39, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 27.11.2019
Сообщений: 10

Права доступа

17.01.2020, 19:08. Показов 7058. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В файловую систему одного суперкомпьютера проник вирус, который сломал контроль за правами доступа к файлам. Для каждого файла Ni известно, с какими действиями можно к нему обращаться:

запись W,
чтение R,
запуск X.

Вам требуется восстановить контроль над правами доступа к файлам (ваша программа для каждого запроса должна будет возвращать OK если над файлом выполняется допустимая операция, или же Access denied, если операция недопустима.

Входные данные

В первой строке входного файла содержится число N (1N10000) —количество файлов содержащихся в данной файловой системе.

В следующих N строчках содержатся имена файлов и допустимых с ними операций, разделенные пробелами. Длина имени файла не превышает 15 символов.

Далее указано чиcло M (1M50000) — количество запросов к файлам.

В последних M строках указан запрос вида Операция Файл. К одному и тому же файлу может быть применено любое колличество запросов.

Выходные данные

Для каждого из M запросов нужно вывести в отдельной строке Access denied или OK.

Примеры
Входные данные

4
helloworld.exe R X
pinglog W R
nya R
goodluck X W R
5
read nya
write helloworld.exe
execute nya
read pinglog
write pinglog

Выходные данные

OK
Access denied
Access denied
OK
OK
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2020, 19:08
Ответы с готовыми решениями:

Права доступа к файлу
Добрый вечер, каким образом можно узнать права доступа (acl) к некоторому файлу?

Права доступа - запрет на удаление
Всем привет. Разбираюсь с правами доступа к файлу. Возникла проблема: не могу запретить право на удаление файла. Хотя после работы кода,...

C# + SQL, права доступа и офлайн базы
Есть программка которая подключается к таблицам которые находятся на SQL сервере(стоит на моем компе). Теперь 2 вопроса: 1)Как перевести...

2
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
17.01.2020, 21:02
Лучший ответ Сообщение было отмечено untradelse как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
            var rvx = new Dictionary<string, string>()
            {
                ["read"] = "R",
                ["write"] = "W",
                ["execute"] = "X"
            };
            var files = new Dictionary<string, List<string>>();
            var countFiles = int.Parse(Console.ReadLine());
            string[] splitted;
            for (int i = 0; i < countFiles; i++)
            {
                splitted = Console.ReadLine().Split();
                files.Add(splitted[0], new List<string>(splitted.Skip(1)));
            }
            var countOps = int.Parse(Console.ReadLine());
            for (int i = 0; i < countOps; i++)
            {
                splitted = Console.ReadLine().Split();
                if (files[splitted[1]].Contains(rvx[splitted[0]]))
                    Console.WriteLine("OK");
                else Console.WriteLine("Access denied");
            }
1
0 / 0 / 0
Регистрация: 27.11.2019
Сообщений: 10
18.01.2020, 09:05  [ТС]
Спасибо, всё получилось!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2020, 09:05
Помогаю со студенческими работами здесь

Как лучше организовать права доступа в приложении?
сделал две формы Form1 и Form2. В одной форме проходит регистрация пользователя(данные пароль и имя хранятся в бд mssql).При удачной...

Как определить права доступа на запись в реестр?
Как-то писал вещь, которая записывала в реестр некоторые данные, однако на другом пк прога не работала. Как определить программно есть ли...

Gecko webBrowser и ошибка "Проверьте права доступа и существование этого файла"
Добрый день, форумчане. Помогите разобраться с веб браузером. Использовал кусок пример взятый с этого сайта. Тут все стандартно. ...

Права доступа
Добрый вечер! Столкнулся со следующей проблемой: есть программа на .Net Framework (инсталлятор), которая копирует другую программу и все...

Права доступа в реестре
Всем привет, помоги с таким вопрос как сделать программно следующие пункты. 1. Зайти в реесте в разрешения -&gt; Дополнительно -&gt;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru