[藍橋杯]試題 基礎練習 芯片測試

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

解題思路:

如果芯片i是好的,那麼它會被其他好芯片(有至少half個)測出來爲好的,所以只要統計每個芯片的被測出是好的次數(包括自己測自己的那次,雖然題目說不是自己測自己,但是誰讓你 ==1呢,要是說等於==0,後面 改成>= half就是好的),如果 > half就是好的;反之就是壞的,因爲有至少half+1可以測出它是壞的,所以它被測出是好的次數不會大於half

代碼:

#include<iostream>

using namespace std;

int main()
{
	int n;
	cin>>n;
	int a[30][30] ={0};
	int dp[30] = {0};
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			cin>>a[i][j];
			dp[j] += a[i][j];
		}
	}
	int half = n/2;
	for(int i = 1; i <= n; i++)
	{
		if(dp[i] > half)
		{
			cout<<i<<" ";
		}
	}
	return 0;
} 

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章