⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1054.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1054 on 2006-01-07 at 00:26:13 */ 
#include <cstdio>
#include <algorithm>
using namespace std;

const int MAX = 64;
const int TOTAL = 2560;

bool chose[TOTAL];

void little(int&, int);

int main()
{
	int n, m, self[MAX];
	int i, case_no;
	
	for(case_no = 1; scanf("%d %d", &n, &m) != EOF && n*m != 0; case_no++) {
		memset(chose, false, sizeof(chose));
		for(i = 0; i < m; i++) { 
			scanf("%d", &self[i]);
			chose[self[i]] = true; 
		}
		int t = 1, h = n*m, win = 0;
		sort(self, self+m);
		for(i = m-1; i >= 0; i--) {
			while(chose[h]) h--;
			if(h > self[i]) chose[h] = true, little(t, n-2);
			else win++, little(t, n-1);
		}
		printf("Case %d: %d\n", case_no, win);
	}
	
	return 0;
}

void little(int& t, int n)
{
	int c = 0;
	while(c < n) {
		while(chose[t]) t++;
		chose[t] = true; c++;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -