제출 #44564

#제출 시각아이디문제언어결과실행 시간메모리
44564heonIzbori (COCI17_izbori)C++11
58 / 80
3 ms928 KiB
#include<iostream> #include<algorithm> #include<vector> using namespace std; vector <int> v1; vector <int> v2; int arr[101][16]; int arr2[16]; int arr3[16]; bool anotherOne[16]; int zup,kan,k; int sol = 0; int num = 0; int rj = 0,rj2 = 0; int winner = 0,winner2 = 0; int thei = 0; int lowest = 999; bool game = true; int sortiraj(){ int help1 = 0; int help2 = 0; for(int i = 0; i < v1.size()-1; i++){ for(int j = i+1; j < v1.size(); j++){ if(v1[i] > v1[j]){ help1 = v1[i]; v1[i] = v1[j]; v1[j] = help1; help2 = v2[i]; v2[i] = v2[j]; v2[j] = help2; } } } } int Solution(){ for(int i = 0; i < kan; i++){ if(!anotherOne[i]) sol++; } return sol; } int findWinner(){ for(int i = 0; i < kan; i++){ arr3[i] = 0; } for(int i = 0; i < zup; i++){ for(int j = 0; j < kan; j++){ if(anotherOne[arr[i][j]-1]){ arr3[arr[i][j]-1]++; break; } } } rj2 = 0; winner2 = 0; for(int i = 0; i < kan; i++){ if(arr3[i] > rj2){ rj2 = arr3[i]; winner2 = i+1; } } return winner2; } int main(){ cin >> zup >> kan >> k; for(int i = 0; i < kan; i++){ arr2[i] = 0; arr3[i] = 0; anotherOne[i] = true; } for(int i = 0; i < zup; i++){ for(int j = 0; j < kan; j++){ cin >> arr[i][j]; } arr2[arr[i][0]-1]++; arr3[arr[i][0]-1]++; } for(int i = 0; i < zup; i++){ for(int j = 0; j < kan; j++){ if(arr[i][j] == k){ v1.push_back(j); v2.push_back(i); break; } } } sortiraj(); while(game){ for(int i = 0; i < kan; i++){ anotherOne[i] = true; } for(int j = 0; j < kan; j++){ if(arr[v2[0]][j] == k){ break; } anotherOne[arr[v2[0]][j]-1] = false; } if(findWinner() == k){ game = false; } v1.erase(v1.begin()); v2.erase(v2.begin()); } for(int i = 0; i < kan; i++){ if(arr2[i] > rj){ rj = arr2[i]; winner = i+1; } } cout << winner << endl << Solution(); }

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

izbori.cpp: In function 'int sortiraj()':
izbori.cpp:29:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < v1.size()-1; i++){
                 ~~^~~~~~~~~~~~~
izbori.cpp:30:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = i+1; j < v1.size(); j++){
                    ~~^~~~~~~~~~~
izbori.cpp:42:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...