Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include <cmath>
- using namespace std;
- const int N = 8;
- void r(int t[N][N])
- {
- srand( time( NULL ) );
- for(int i=0; i<N; i++)
- for(int j=0; j<N; j++)
- t[i][j]=rand()%100;
- }
- struct polwiez
- {
- int x1=0;
- int y1=0;
- int x2=0;
- int y2=0;
- } best;
- int sumk(int t[N][N], int k)
- {
- int sum=0;
- for(int i=0; i<N; i++)
- sum+=t[i][k];
- return sum;
- }
- int sumw(int t[N][N], int w)
- {
- int sum=0;
- for(int i=0; i<N; i++)
- sum+=t[w][i];
- return sum;
- }
- int sumowanko(int t[N][N], int x1, int y1, int x2, int y2)
- {
- int stsum=0;
- if(x1==x2)
- stsum=sumw(t,x1)+sumk(t,y1)+sumk(t,y2) ;
- if(y1==y2)
- stsum=sumw(t,x1)+sumk(t,x2)+sumk(t,y1) ;
- if(x1!=x2 && y1!=y2)
- stsum=sumw(t,x1)+sumw(t,x2)+sumk(t,y1)+sumk(t,y2) -t[x1][y1] -t[x2][y2];
- return stsum;
- }
- void more(int t[N][N], polwiez &best)
- {
- int csum=0, msum=0;
- for(int i=0; i<N; i++)
- {for(int j=0; j<N; j++)
- {for(int k=0; k!=i, k<N; k++)
- {for(int m=0; m!=j, m<N; m++)
- {
- csum=sumowanko(t,i,j,k,m);
- if(csum>msum)
- {
- msum=csum;
- best.x1=i;
- best.y1=j;
- best.x2=k;
- best.y2=m;
- }
- }
- }
- }
- }
- }
- int main()
- {
- int t[N][N];
- r(t);
- for(int i=0; i<N; i++)
- {for(int j=0; j<N; j++)
- cout<<t[i][j]<<'\t'<<" ";
- cout<<endl;}
- more(t, best);
- cout<<"Polozenie wiez: ("<<best.x1<<","<<best.y1<<") ("<<best.x2<<","<<best.y2<<")";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement