社区讨论

有毒把这个题,我想问问这两个写法有何不同

P2071座位安排参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mi6leb8c
此快照首次捕获于
2025/11/20 06:47
4 个月前
此快照最后确认于
2025/11/20 06:47
4 个月前
查看原帖
为啥一个错了一个对呢,我觉得都一样啊
还另写了个程序比对了一下 用迭代器和直接调用 输出结果都一样的啊!!
请大佬指教

CPP
  bool fate(int U)
 {
     for(ITER it=e[U].begin();it!=e[U].end();it++)
       if(!vis[*it])
         {
           vis[*it]=1;
           if(master[*it]==-1||fate(master[*it]))
             {
               master[*it]=U;
               return 1;
             }
         }
       return 0;
 }
和这个

CPP
bool fate(int x){
    for(int i=1;i<=m;i++){
        if(a[x][i]&&!vis[i]){
            vis[i]=1;
            if(!master[i]||fate(master[i])){
                master[i]=x;
                return 1;
            }
        }
    }
    return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...