文章
24
粉丝
27
获赞
120
访问
6.4k
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k, door=1, j=1;
cin >> n >> k;
vector<int> v(n+1); //钥匙数组,下标j表示第i把钥匙,存的内容v[j]表示能开第几扇门
vector<int> sum(n+2,0),sum2(n+2,0); //两个错误总数前缀和数组
for (int i = 1; i <= n; i++)
scanf("%d",&v[i]);
while (door != n) { //模拟第一次完成打开全部n扇门,第一次是特殊的,因为打开第一扇门的错误次数和初始钥匙序列有关
if (j == n + 1)
j = 1;
if (v[j] != door) {
j++;
sum[door]++;
} else{
door++;
&n...
登录后发布评论
暂无评论,来抢沙发