Commit e27a2231 authored by 24OI-bot's avatar 24OI-bot
Browse files

style: format markdown files with remark-lint

parent 20b263cf
Loading
Loading
Loading
Loading
+62 −64
Original line number Diff line number Diff line
@@ -97,7 +97,6 @@ void dfs(传入数值) {
??? note "工作分配问题"
     **题目描述** 

```
    有 $n$ 份工作要分配给 $n$ 个人来完成,每个人完成一份。第 $i$ 个人完成第 $k$ 份工作所用的时间为一个正整数 $t_{ik}$,其中 $1 \leq i, k \leq n$。试确定一个分配方案,使得完成这 $n$ 份工作的时间总和最小。

    输入包含 $n + 1$ 行。
@@ -130,7 +129,6 @@ $1 \leq t_{ik} \leq 10^4$
    ​```text
    5
    ​```
```

 **分析** 

@@ -146,7 +144,8 @@ int time[N][N];// 完成某项工作所需的时间
int cost_time_total_min;  // 完成 n 份工作的最小时间总和
// i 表示第几个人,count 表示工作费用总和
inline void work(int i, int count, int n) {
	// 如果 i 超出了所能分配的最大工作件数,表示分配完成,并且 count 比原来 cost_time_total_min 花费少 则更新 cost_time_total_min 的值
  // 如果 i 超出了所能分配的最大工作件数,表示分配完成,并且 count 比原来
  // cost_time_total_min 花费少 则更新 cost_time_total_min 的值
  if (i > n && count < cost_time_total_min) {
    cost_time_total_min = count;
    return;
@@ -161,14 +160,14 @@ inline void work(int i, int count, int n){
        isWorked[j] = 1;
        //工作交给第 i + 1 个人
        work(i + 1, count + time[i][j], n);
				//在一轮迭代完成之后,返回到上一个人,要对此次的工作进行重新分配,将 isWorked[j] 重设为 0
        //在一轮迭代完成之后,返回到上一个人,要对此次的工作进行重新分配,将
        //isWorked[j] 重设为 0
        isWorked[j] = 0;
      }
    }
  }
}
int main(int argc, char const *argv[])
{
int main(int argc, char const *argv[]) {
  setvbuf(stdin, new char[1 << 20], _IOFBF, 1 << 20);
  setvbuf(stdout, new char[1 << 20], _IOFBF, 1 << 20);
  int n;
@@ -184,4 +183,3 @@ int main(int argc, char const *argv[])
  return 0;
}
```