a53

tabel

a53
Feb 28th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. ifstream fin("tabel.in");
  4. ofstream fout("tabel.out");
  5. int n,m,p,l,c,v,prod,i,j,cnt,cm;
  6. int M[52][52]= {0};
  7.  
  8. int main()
  9. {
  10. fin>>n>>m;
  11. fin>>p;
  12. for(i=1; i<=p; i++)
  13. {
  14. fin>>l>>c>>v;
  15. M[l][c]=v;
  16. }
  17. prod=m*n;
  18. while(p<prod)
  19. {
  20. for(i=1; i<=n; i++)
  21. {
  22. cnt=0;
  23. for(j=1; j<=m; j++) if(M[i][j]==0) cnt++;
  24. if(cnt==1)
  25. {
  26. if(M[i][m]==0)
  27. for(j=1; j<m; j++) M[i][m]+=M[i][j];
  28. else
  29. {
  30. cm=M[i][m];
  31. for(j=1; j<m; j++) cm-=M[i][j];
  32. for(j=1;j<m;j++)
  33. if(M[i][j]==0)
  34. {
  35. M[i][j]=cm;
  36. break;
  37. }
  38. }
  39. p++;
  40. }
  41.  
  42. }
  43. for(j=1; j<=m; j++)
  44. {
  45. cnt=0;
  46. for(i=1; i<=n; i++) if(M[i][j]==0) cnt++;
  47. if(cnt==1)
  48. {
  49. if(M[n][j]==0) for(i=1;i<n;i++) M[n][j]+=M[i][j];
  50. else
  51. {
  52. cm=M[n][j];
  53. for(i=1;i<n;i++) cm-=M[i][j];
  54. for(i=1;i<m;i++)
  55. if(M[i][j]==0)
  56. {
  57. M[i][j]=cm;
  58. break;
  59. }
  60. }
  61. p++;
  62. }
  63. }
  64. }
  65. for(i=1;i<=n;i++)
  66. {
  67. for(j=1;j<=m;j++)
  68. {
  69. fout<< M[i][j] <<' ';
  70. }
  71. fout<<'\n';
  72. }
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment