简单题
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; }