Codeforces 1457B. Repainting Street

在这里插入图片描述
在这里插入图片描述

附上题目链接:Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) 1457B

题目大意:刷墙。有t组测试数据,每组测试数据先给出房子总数n和每一次操作的房子数k。然后是n个数表示房子最初的颜色。求把他们刷成同一种颜色最少操作数。

这道题用了一个坏坏的方法:暴力遍历。因为一共就100种颜色,所以遍历每一种操作的次数,迭代取最小操作数cnt。因为代码可以看懂就不多解释了

AC代码如下:

#include<iostream>
using namespace std;
int main()
{
	int t;
	cin >> t;
	int k,n;
	int a[100005];

	while(t--)
	{
		cin >> n >> k;
		for( int i = 1; i <= n ; i ++) 
		{
			cin >> a[i];
		}
		
		int cnt = 0,sum = 100000;
		
		for( int i = 1 ; i <= 100 ; i++)
		{
			for ( int j =1 ; j <= n ; j++)
			{
				if(a[j]!=i)
				{
					cnt++;
					j+=k-1;
					continue;
//					cout << " cnt=" << cnt << endl;
				}								
			}
			if(cnt < sum) sum = cnt;
			cnt = 0;
		}
		cout << sum << endl;
	}
}

AC截图:
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页