90分求助

P1424 小鱼的航程(改进版)

写的有点乱大佬们救救
by ranbi @ 2023-10-17 13:06:36


@[ranbi](/user/1113703) 大致描述一下你的思路
by zitong_cherry @ 2023-10-17 13:11:07


@[zitong_cherry](/user/1099936) 假设今天是周六或周日(x=6或者7)休息,n是天数如果x加上n的天数小于8证明过了n天之后还是休息(如果是这种情况n会等于0,假设x=6,n=2。执行while循环后n=0循环结束),如果大于等于8代表已经到了下周1,这时减去在周末休息的时间,得到一个新的n;用days表示工作日时长,有多少周就休息多少个双休,因为是从周一开始算如果n/7的余数是六就代表有一天是休息的所以工作日减一,如果不是6,那么就是周一到周五的任意1天,直接加进去到工作日就可以了。不是周六日的情况我就直接除7算有多少周,减去该周的双休得到工作日,大致思路是这样。有点乱有点长
by ranbi @ 2023-10-17 13:27:55


@[ranbi](/user/1113703) 当你的n%7不等于6的时候你应该咋办,你的代码上好像没写
by zitong_cherry @ 2023-10-17 13:35:41


@[zitong_cherry](/user/1099936) 那大佬这题有更好的思路,我感觉我这种做法毛病太多了,总有情况考虑不全。
by ranbi @ 2023-10-17 13:43:48


@[ranbi](/user/1113703) 如果你还要公式求得话就是先算一下第一周会游几天,和最后一周还要游几天,再将中间的给加上就可以了
by zitong_cherry @ 2023-10-17 13:46:19


@[ranbi](/user/1113703) 暴力一点的话枚举每一天,大于7了就对7取模
by zitong_cherry @ 2023-10-17 13:46:54


|