I think you meant spiral traversal,
#include <cstdio>
#include <cstring>
using namespace std;
#define REP(i, n) for(int i = 0; i < n; i++)
const int MX = 1000;
int a[MX][MX], seen[MX][MX], n;
int dx[] = {0, 1, 0, -1};
int dy[] = {1, 0, -1, 0};
int main() {
scanf("%d", &n);
REP(i, n) REP(j, n) scanf("%d", &a[i][j]);
REP(i, n) memset(seen[i], 0, sizeof(seen[i]));
int x, y, dir;
x = y = dir = 0;
REP(i, n*n) {
printf("%d ", a[x][y]);
seen[x][y] = 1;
x += dx[dir]; y += dy[dir];
if((x<0) || (x>=n) || (y<0) || (y>=n) || seen[x][y]) {
x -= dx[dir]; y -= dy[dir];
dir = (dir+1)%4;
x += dx[dir]; y += dy[dir];
}
}
}
On Jul 28, 11:57 am, Deoki Nandan <[email protected]> wrote:
> there is no specification on complexity . if input matrix is
> 1 2 3
> 4 5 6
> 7 8 9
> then after 180 rotation output should be
> 1 2 3 6 9 8 7 4 5
>
> On Wed, Jul 27, 2011 at 11:34 PM, amit karmakar
> <[email protected]>wrote:
>
>
>
>
>
> > If you meant "rotate a 2D matrix by angle 180" of order n x n
> > Then you cannot have a O(n) algo, Each of the n^2 elements must be
> > accessed so you cannot have anything less than n^2
>
> > On Jul 27, 10:59 pm, Puneet Gautam <[email protected]> wrote:
> > > Can anyone give an O(n) solution pls...??
> > > I think the above code is an O(n^2) solution..
> > > if i am not wrong...!!!
>
> > > On 7/27/11, amit <[email protected]> wrote:
>
> > > > #include <cstdio>
> > > > #include <algorithm>
> > > > using namespace std;
>
> > > > const int MX = 1000;
> > > > int n, m;
> > > > int a[MX][MX];
>
> > > > int main() {
> > > > scanf("%d%d", &n, &m);
> > > > for(int i = 0; i < n; i++)
> > > > for(int j = 0; j < m; j++)
> > > > scanf("%d", &a[i][j]);
>
> > > > for(int i = 0; i < n/2; i++)
> > > > for(int j = 0; j < m; j++)
> > > > swap(a[i][j], a[n-i-1][m-j-1]);
> > > > if(n&1)
> > > > for(int j = 0; j < m/2; j++)
> > > > swap(a[n/2][j], a[n/2][m-j-1]);
>
> > > > for(int i = 0; i < n; i++) {
> > > > for(int j = 0; j < m; j++)
> > > > printf("%d ", a[i][j]);
> > > > printf("\n");
> > > > }
> > > > }
>
> > > > On Jul 27, 7:54 pm, Anika Jain <[email protected]> wrote:
> > > >> is it lyk for {1,2,3
> > > >> 4,5,6,
> > > >> 7,8,9}
> > > >> to be {3,2,1,
> > > >> 6,5,4,
> > > >> 9,8,7} ??
>
> > > >> On Wed, Jul 27, 2011 at 9:37 AM, Deoki Nandan <[email protected]>
> > wrote:
> > > >> > rotate a 2D matrix by angle 180
>
> > > >> > --
> > > >> > **With Regards
> > > >> > Deoki Nandan Vishwakarma
>
> > > >> > *
> > > >> > *
>
> > > >> > --
> > > >> > You received this message because you are subscribed to the Google
> > > >> > Groups
> > > >> > "Algorithm Geeks" group.
> > > >> > To post to this group, send email to [email protected].
> > > >> > To unsubscribe from this group, send email to
> > > >> > [email protected].
> > > >> > For more options, visit this group at
> > > >> >http://groups.google.com/group/algogeeks?hl=en.
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Algorithm Geeks" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected].
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/algogeeks?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.
>
> --
> **With Regards
> Deoki Nandan Vishwakarma
>
> *
> *
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.