yoyoboyss

Untitled

May 14th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. const int NMAX = 1004;
  5.  
  6. int N, M, flw;
  7. int flower[NMAX][NMAX];
  8. int pflow[NMAX], arb[NMAX];
  9.  
  10. int main(){
  11.  
  12. freopen("flori.in", "r", stdin);
  13. freopen("flori.out", "w", stdout);
  14.  
  15. int mmax = 0, vmax = 0;
  16.  
  17. scanf("%d%d", &N, &M);
  18. for(int i = 1; i <= N; i++){
  19. for(int j = 1; j <= M; j++){
  20. scanf("%d", &flw);
  21. if(flw > vmax)
  22. vmax = flw;
  23. if(flower[pflow[flw]][flw] != i){
  24. flower[pflow[flw] + 1][flw] = i;
  25. pflow[flw]++;
  26. if(pflow[flw]> mmax)
  27. mmax = pflow[flw];
  28. if(arb[i] == 0){
  29. if(flower[pflow[flw] - 1][flw] == 0)
  30. arb[i] = i;
  31. else
  32. arb[i] = flower[pflow[flw] - 1][flw];
  33. } else if(flower[pflow[flw] - 1][flw] != 0){
  34. int k = flower[pflow[flw] - 1][flw];
  35. int l = i;
  36. while(arb[k] != k)
  37. k = arb[k];
  38. if(arb[k] != arb[i])
  39. arb[k] = i;
  40. }
  41. }
  42. }
  43. }
  44. for(int j = 1; j <= N; j++){
  45. printf("%d ", arb[j]);
  46. }
  47.  
  48. return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment