顺丰第一题: int main() {     int n, m, k;     cin >> n >> m >> k;     vector<vector<int>> peo(n + 1);     vector<vector<int>> lan(m + 1);     for (int i = 0; i < k; i++) {         int a, b;         cin >> a >> b;         peo[a].push_back(b);         lan[b].push_back(a);     }     vector<bool> flag(n + 1, false);     int res = 0;     for (int i = 1; i <= n; i++) {         if (flag[i] == false) {             res++;             queue<int> q;             q.push(i);             flag[i] = true;             while (!q.empty()) {                 int cur = q.front();                 q.pop();                 for (int i = 0; i < peo[cur].size(); i++) {                     for (int j = 0; j < lan[peo[cur][i]].size(); j++) {                         if (flag[lan[peo[cur][i]][j]] == false) {                             q.push(lan[peo[cur][i]][j]);                             flag[lan[peo[cur][i]][j]] = true;                         }                     }                 }             }         }     }     if (k == 0)         cout << res << endl;     else         cout << res - 1 << endl;     system("pause");     return 0; }
点赞 3

相关推荐

12-20 11:26
复旦大学 Java
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务