ccf 201612 3 許可權查詢

2022-08-28 17:30:25 字數 2262 閱讀 2225

ccf 201612-3 許可權查詢

解題思路:

建立乙個二維矩陣儲存許可權和角色

還差30分emmm

1 #include2 #include3 #include4

using

namespace

std;

5const

int maxn = 100+5;6

const

int maxq = 10000 + 5

;7 map cl;///

許可權名稱到最高許可權級別的對映

8 map cn;//

許可權名稱到陣列下標的轉換

9 map rn;//

角色名稱到陣列下標的轉換

10 map un;//

使用者名稱到陣列下標的轉換

11int rc[maxn][maxn];///

rc[i][j]表示當前角色i擁有的許可權j的最高等級

12bool ur[maxn][maxn];///

使用者i是否有 角色j

13int

main()

14 else

34 c[j] = '\0'

;35int num = 0;36

for(j=len+1;j)

3740 cl[c] =num;

41 cn[c] =i;42}

43}44 cin>>r;//

描述角色

45for(int i=0;i)

46for(int j=0;j)

47 rc[i][j] = -2

; 48

for(int i=0;i)

49else

70 temp[j] = '\0'

;71int num = 0;72

for(j=len+1;j)

7376 rc[rn[str]][cn[temp]] =num;77}

78}79}

8081 cin>>u;//

使用者82 memset(ur,false,sizeof

CCF 201612 3 許可權查詢

p段是給出的基本許可權,其實沒有必要去處理,因為題目中告知 r段的資訊一定是準確的。處理r段時,使用map rolemap 即每個role對應一些許可權,而許可權的形式是 許可權名,等級 其中等級為 1表示它是不分等級許可權。處理u段時,儲存每個user對應的角色名稱,採用map usermap 即...

許可權查詢 CCF201612 3

傳送門 題解 雷少的stl真的玩的太厲害了,雷少是我見過現實版身邊最勵志的人,很刻苦,很玩命,像雷少學習。開始正解 這個題使用三個map即可,第乙個map儲存許可權,第二個map儲存角色,value儲存許可權陣列,第三個map儲存使用者,然後直接進行模擬即可。附上 includeusing name...

CCF201612 3 許可權查詢問題

思路 第一步 用3個結構體陣列表示使用者 角色 許可權的資訊,定義如下 struct privilege 定義許可權 struct role 定義角色 struct user 定義使用者 第二步 然後就是輸入許可權 角色 使用者的資訊。這裡要理清關係 乙個使用者可以有多個角色,乙個角色有多個許可權 ...