文章
24
粉丝
27
获赞
162
访问
17.6k
#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...
登录后发布评论
暂无评论,来抢沙发