2422.cpp

来自「这是哈尔滨工业大学acmOJ的源代码」· C++ 代码 · 共 37 行

CPP
37
字号
/* This Code is Submitted by wywcgs for Problem 2422 on 2006-12-04 at 12:43:25 */
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int L = 84;
const int N = 1024;

int main()
{
	int n, k, w[N];
	
	for(int t = 1; scanf("%d %d", &n, &k) != EOF && n != 0; t++) {
		if(t != 1) printf("\n");
		for(int i = 0; i < n; i++) {
			char str[L]; scanf("%s", str);
			w[i] = strlen(str);
		}
		printf("Case %d: ", t);
		if(n%k != 0) { printf("no\n"); continue; }
		sort(w, w+n);
		int m = n / k;
		bool can = true;
		for(int i = 0; i < m; i++) {
			int sum = 0;
			for(int j = 0; j < k; j++) sum += w[i*k+j];
			for(int j = 0; j < k; j++)
				if(sum > (w[i*k+j]+2)*k || sum < (w[i*k+j]-2)*k) can = false;
			if(!can) break;
		}
		printf("%s\n", can ? "yes" : "no");
	}
	
	return 0;
}

⌨️ 快捷键说明

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