dao cot

 avatar
duyvan
plain_text
6 months ago
2.2 kB
6
Indexable
Never
//daocot
/*
dao K lan cot der lay duoc so hang toan 1 nhieu nhat
Input: Cho 3 số N, M, K
Tiếp theo là ma trận NxM
Output: In ra số lượng hàng toàn 1 nhiều nhất định dạng như bên dưới
Case #1 1
Case #2 2
*/

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

int n,col,m;
int map[300][300];
int temp[300][300];
int maxas;
void init(){
	for(int i=0;i<n;i++){
		for(int j=0;j<col;j++){
			temp[i][j]=map[i][j];
		}
	}

}

void lat(int index){
	for(int i=0;i<n;i++){
		if(temp[i][index]==0){
			temp[i][index]=1;
		}
		else{	
			temp[i][index]=0;
		}
	}
}
int dem(){
	int count=0;
	for(int i=0;i<n;i++){
		int check=true;
		for(int j=0;j<col;j++){
			if(temp[i][j]==0){
				check=false;
			}

		}
		if(check==true){
			count++;
		}

	}
	return count;
}

int main()
{
	int T;
	ios::sync_with_stdio(false);
	//freopen("INP.txt", "r", stdin);
	cin >> T;
	for(int tc=1;tc<=T;tc++){
		maxas=0;
		cin>>n>>col>>m;
		for(int i=0;i<n;i++){
			for(int j=0;j<col;j++){
				cin>>map[i][j];	
			}
		}
		for(int i=0;i<n;i++){
			init();
			int count=0;
			for(int j=0;j<col;j++){
				if(temp[i][j]==0){
					count++;
					lat(j);
				}
			}
			if((count<=m) && (m-count)%2==0){
				if(dem()>maxas){
					maxas=dem();
				}
			}
		}
		cout<<"Case #"<<tc<<" "<<maxas<<endl;
	}
	return 0;
}

//=====================
Đảo Cột
Trong ma trận nhị phân, phép đảo cột của ma trận là việc thay thế các giá trị của cột
đó từ 0 -> 1 và từ 1 -> 0. Cho ma trận nhị phân NxM (N <= 100, M <= 20), hỏi sau K
lần đảo cột thì số hàng gồm toàn số 1 nhiều nhất có thể thu được là bao nhiêu. (Yêu
cầu phải đảo cột đúng K lần và một cột có thể được đảo nhiều lần)
Ví dụ
Với ví dụ bên, nếu K = 1, ta sẽ có kết quả lớn nhất khi đảo cột thứ 2 và thu được 1
hàng gồm toàn số 1 là hàng thứ 4. Nếu K = 2, kết quả thu được là 2 khi đảo cột thứ 2
và cột thứ 3.Input: Cho 3 số N, M, K

Tiếp theo là ma trận NxM

Output: In ra số lượng hàng toàn 1 nhiều nhất định dạng như bên dưới

Case #1 1

Case #2 2

Leave a Comment