Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. vector <vector<int>> data;
  6. vector <bool> visited;
  7. int n, m, k, place, artist, ans;
  8.  
  9. int sum_row(vector<int>& vec){
  10. int s = 0;
  11. for (int i = 0; i < vec.size(); i++){
  12. s += vec[i];
  13. }
  14. return s;
  15. }
  16. // функция которая определяет куда должен попереться конкретный исполнитель
  17. int valid_place(int art){
  18. int vp = -1;
  19. int ms = 0;
  20. int ns;
  21. for (int i = 0; i < n; i++){
  22. ns = sum_row(data[i]);
  23. if (ns > ms && !visited[i] && data[i][art]){
  24. vp = i;
  25. ms = ns;
  26. }
  27. }
  28. return vp;
  29. }
  30.  
  31. int main() {
  32. cin >> n >> m >> k;
  33. data.resize(n);
  34.  
  35. for (int i = 0; i < n; i++){
  36. data[i].resize(m, 0);
  37. }
  38. for (int i = 0; i < k; i++){
  39. cin >> place >> artist;
  40. data[place - 1][artist - 1]++;
  41. }
  42. int vp;
  43. while (k > 0){
  44. visited.resize(n, 0);
  45. for (int d = 0; d < 3; d++){
  46. for (int i == 0; i < m; i++){
  47. vp = valid_place(i);
  48. if (vp != -1){
  49. data[vp][i]--;
  50. visited[vp] = 1;
  51. k --;
  52. }
  53. }
  54. }
  55. ans++;
  56. }
  57. cout << ans;
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement