poj1323

简单题

View Code
#include <iostream>

#include <cstdlib>

#include <cstdio>

#include <cstring>

#include <algorithm>

using namespace std;



#define maxn 55

#define maxm 22



int n, m;

int card[maxn];

bool vis[maxn * maxm];



void input()

{

    for (int i = 0; i < n; i++)

        scanf("%d", &card[i]);

}



void work()

{

    memset(vis, 0, sizeof(vis));

    for (int i = 0; i < n; i++)

        vis[card[i]] = true;

    int ans = 0;

    int temp = 0;

    for (int i = m * n; i > 0; i--)

        if (!vis[i])

            temp++;

        else if (temp > 0)

            temp--;

        else

            ans++;    

    printf("%d\n", ans);

}



int main()

{

    int t = 0;

    //freopen("t.txt", "r", stdin);

    while (scanf("%d%d", &m, &n), n | m)

    {

        printf("Case %d: ", ++t);

        input();

        work();

    }

    return 0;

}

 

你可能感兴趣的:(poj)