제출 #44573

#제출 시각아이디문제언어결과실행 시간메모리
44573heonIzbori (COCI17_izbori)C++11
80 / 80
34 ms560 KiB
#include<bits/stdc++.h>

using namespace std;

int n,m,k;
int grid[105][15];

int winner(int mask){
	int winner[20];
	memset(winner,0,sizeof(winner));
	for(int i = 0; i < n; i++){
		for(int j = 0; j < m; j++){
			if(mask & (1 << (grid[i][j]-1))) continue;
			winner[grid[i][j]]++;
			break;
		}
	}
	int winval = 0, win;
	for(int i = 1; i <= m; i++){
		if(winner[i] > winval){
			winval = winner[i];
			win = i;
		}
	}
	return win;
}

int main(){
	cin >> n >> m >> k;
	for(int i = 0; i < n; i++){
		for(int j = 0; j < m; j++){
			cin >> grid[i][j]; 
		}
	}
	int izbaceni = 10000;
	int fullmask = 1 << m;
	for(int i = 0; i < fullmask-1; i++){
		if(winner(i) == k){
			izbaceni = min(izbaceni,__builtin_popcount(i));
		}
	}
	cout << winner(0) << endl << izbaceni;
}

컴파일 시 표준 에러 (stderr) 메시지

izbori.cpp: In function 'int winner(int)':
izbori.cpp:25:9: warning: 'win' may be used uninitialized in this function [-Wmaybe-uninitialized]
  return win;
         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...