Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

킹솔이

[백준/C++] 1268 임시반장 정하기 본문

Algorithm

[백준/C++] 1268 임시반장 정하기

킹솔이 2020. 1. 22. 19:21

완벽하지 않으니 참고만 하세요

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
	
	ios_base :: sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
	int num=0;
	cin >> num;
	
	vector< vector<int> > student1;
	vector< vector<int> > ans;
	
	for(int i=0;i<num;i++){
		vector<int> vec1(5);
		vector<int> vec2(num);
		student1.push_back(vec1);
		ans.push_back(vec2);
	}
	
	int temp;
	for(int i=0;i<num;i++){
		for(int j=0;j<5;j++){
			cin>>temp;
			student1[i][j]=temp;
		}
	}
	for(int i=0;i<num;i++){
		for(int j=0;j<num;j++){
			ans[i][j]=0;
		}
	}
	
	
//	for(int i=0;i<num;i++){
//		for(int j=0;j<5;j++){
//			cout<<student1[i][j]<<" ";
//		}
//		cout<<endl;
//	}
	
	
	
	//ㄹㅇ 
	for(int i=0;i<num;i++){
		for(int j=0;j<5;j++){
			for(int k=i;k<num;k++){
				if(student1[i][j]==student1[k][j]){
				ans[i][k]=1;
				ans[k][i]=1;
				}
			}
		}
	}
	
//	for(int i=0;i<num;i++){
//		for(int j=0;j<num;j++){
//			cout<<ans[i][j]<<" ";
//		}
//		cout<<endl;
//	}

	
	vector<int> ans2(num);
	for(int i=0;i<num;i++){
		for(int j=0;j<num;j++){
			ans2[i]+=ans[i][j];
		}
	}
//	for(int i=0;i<ans2.size();i++){
//		cout<<ans2[i]<<" ";
//	}
	int max = *max_element(ans2.begin(),ans2.end());
	
	for(int i=0;i<num;i++){
		if(ans2[i]==max){
			cout<<i+1;
			break;
		}	
	}
	
	return 0;
}