傳送門
ccf第三題, 同樣是一道非常複雜度模擬題, 要非常細心不要漏掉哪一點.
可惜我只得了90分, 沒得滿分, 找不出那10分是錯在**了.
貼下90分**
#include
#include
#include
#include
using
namespace
std;
void show(map
orig)
}int main()
else orig[category] = -1;
}int r;
cin >> r;
string ident, categ;
map >man;
for (int i = 0, num; i < r; ++i) else tmp[categ] = -1;
}man[ident] = tmp;
}/*cout << "-----------------------------" << endl;
map>::iterator im = man.begin();
while (im != man.end()) */
int u, t;
cin >> u;
string name, job;
map > user;
for (int i = 0; i < u; ++i)
user[name] = tmp;
}/*cout << "----------------------------\n";
map>::iterator iu = user.begin();
while (iu != user.end())
cout << endl;
iu++;
}cout << "----------------------------\n";*/
int q;
cin >> q;
for (int i = 0; i < q; ++i)
//cout << "name = " << name << " cmd = " << cmd << endl;
if (user.count(name) == 0 || orig.count(cmd) == 0)
vector
jobs = user[name];
/*cout << "\n" << name << " : \n";
for (int j = 0; j < jobs.size(); ++j) */
//cout << "name = " << name << " cmd = " << cmd << endl;
if (level == -1)
if (flag) cout
<< "true"
<< endl;
else
cout
<< "false"
<< endl;
} else
}if (lev == -1) else
cout
<< lev << endl;
} } else
}if (lev >= level && lev != -1) cout
<< "true"
<< endl;
else
cout
<< "false"
<< endl;}}
}
CCF 201612 3 許可權查詢
p段是給出的基本許可權,其實沒有必要去處理,因為題目中告知 r段的資訊一定是準確的。處理r段時,使用map rolemap 即每個role對應一些許可權,而許可權的形式是 許可權名,等級 其中等級為 1表示它是不分等級許可權。處理u段時,儲存每個user對應的角色名稱,採用map usermap 即...
許可權查詢 CCF201612 3
傳送門 題解 雷少的stl真的玩的太厲害了,雷少是我見過現實版身邊最勵志的人,很刻苦,很玩命,像雷少學習。開始正解 這個題使用三個map即可,第乙個map儲存許可權,第二個map儲存角色,value儲存許可權陣列,第三個map儲存使用者,然後直接進行模擬即可。附上 includeusing name...
Python實現201612 3許可權查詢
通過檢視題目意思,又看了看樣例說明 評測用例規模與約定 評測用例規模 1 p,r,u 100 1 q 10 000 每個使用者具有的角色數不超過 10,每種角色具有的許可權種類不超過 10 約定 輸入保證合法性,包括 1 角色對應的許可權列表 r 段 中的許可權都是之前 p 段 出現過的,許可權可以...