UVa 12036 Stable Grid (想法题)

本文介绍了一种简单的方法来检查给定的n×n矩阵中是否有任一整数出现次数超过n次。通过使用一个计数数组跟踪每个整数的出现次数,并在读取输入时更新这些计数,该算法能够快速地确定条件是否被满足。

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=3187


表示想复杂了。。其实只要统计是否有一个数字出现大于n次就no啊orz


完整代码:

/*0.042s*/

#include<cstdio>
#include<cstring>

int cnt[105], n;

bool judge()
{
	bool f = true;
	int i, j, k;
	for (i = 0; i < n; ++i)
	{
		for (j = 0; j < n; ++j)
		{
			scanf("%d", &k);
			++cnt[k];
			if (cnt[k] > n) f = false;
		}
	}
	return f;
}

int main()
{
	int T, cas = 0;
	scanf("%d", &T);
	while (T--)
	{
		scanf("%d", &n);
		memset(cnt, 0, sizeof(cnt));
		printf("Case %d: %s\n", ++cas, (judge() ? "yes" : "no"));
	}
	return 0;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值