ccf 201612-3 許可權查詢
解題思路:
建立乙個二維矩陣儲存許可權和角色
還差30分emmm
1 #include2 #include3 #include4using
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 定義使用者 第二步 然後就是輸入許可權 角色 使用者的資訊。這裡要理清關係 乙個使用者可以有多個角色,乙個角色有多個許可權 ...