Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 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. cout <<"end";
  43. int vp;
  44. while (k > 0){
  45. visited.resize(n, 0);
  46. for (int d = 0; d < 3; d++){
  47. for (int i = 0; i < m; i++){
  48. vp = valid_place(i);
  49. if (vp != -1){
  50. data[vp][i]--;
  51. visited[vp] = 1;
  52. k --;
  53. }
  54. }
  55. }
  56. ans++;
  57. }
  58. cout << ans;
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement